Resources Hub
All tools, videos, and learning materials from every session — deduplicated and organized.
Session 1 Notebook — Your First Predictive Model (Telco Churn)
The notebook we build in class: load the Telco data, explore churn rates by contract, split, fit a logistic regression, and read the confusion matrix. Runs free in your browser — no installation.
Open in ColabThe Overfitting Explorer — Bias, Variance, and Noise
Drag the model-complexity slider and watch training error fall while test error turns back up. Add noise, resample the data, and see why a model that fits everything predicts nothing.
Open the explorerSession 1 Slides — From Data to Decisions
The deck from class: the analytics map, the prediction lifecycle, the Telco data, the twelve-line model, and why accuracy lies. Arrow keys to navigate, F for fullscreen.
Open slidesTelco Customer Churn — the dataset
IBM's sample telecom dataset: 7,043 customers, 20 features, 26.5% churn. Hosted in the course repository so every notebook can load it from a URL with no login.
View the dataMLU-Explain — The Bias–Variance Tradeoff
Amazon Machine Learning University's interactive essay: drag the model complexity and watch bias and variance trade places. The companion to our Overfitting Explorer, with the math when you want it.
Open the explainerMLU-Explain — Train, Test, and Validation Sets
Why we hold data out, what the three splits are for, and the mistake of tuning on the test set — as a scrollable visual story.
Open the explainerISLP, Chapter 2 — Statistical Learning
The free textbook chapter that defines the whole field in 40 pages: what we mean by 'learning', prediction versus inference, the bias–variance trade-off, and why a test set is not optional.
Read Chapter 2 (free PDF)Géron, Hands-On ML (3rd ed.), Chapter 1 — The Machine Learning Landscape
The best-selling practitioner's book, chapter 1: types of learning, the main challenges (bad data, overfitting, underfitting), and testing and validating. All notebooks are free on GitHub.
Open the notebooksStory: How Netflix Turned Prediction Into $1B a Year
Netflix estimates its recommendation system saves over $1 billion a year in reduced churn. The whole business case for predictive analytics in one sentence — and the churn problem you just modeled, at scale.
Read the research pageStatQuest — Machine Learning Fundamentals: Bias and Variance
Seven minutes, one picture you will never forget. Watch before Session 2 if the overfitting explorer felt like magic.
Watch on YouTubeRefresher: Introducing scikit-learn (ISOM 730 notebook)
Prof. Arslan's earlier notebook on the scikit-learn estimator API — choose a model, set hyperparameters, arrange X and y, fit, predict. If tonight's twelve lines went fast, this is the slow version. Hosted in the course repo — opens in Colab with one click.
Open in ColabRefresher: Müller & Guido, Ch. 2 — Supervised Learning (official notebook)
The gentlest complete tour of the classifiers you will meet all semester, each with its decision boundary drawn. Older scikit-learn, timeless ideas; the header explains what has changed.
Open in ColabPython foundations — the two decks from class (variables & expressions, conditionals)
What we covered from Python for Everybody chapters 2 and 3, what you should now be able to do, each idea on the churn problem, and the slides embedded. Lab 0 (the self-checking Python Foundations Check) opens in Session 2.
Explore nowSession 2 Notebook — Data Wrangling & EDA (Olist + Telco)
The notebook we build in class: load Olist via kagglehub (or the no-login Telco fallback), validate every merge, aggregate items to the order grain, pull datetime features, interrogate missingness, and reproduce the call-duration leak on Bank Marketing.
Open in ColabSession 2 Class Notebook — What We Typed Together
The live notebook from our meeting, cell for cell: comparisons and if/elif, try/except on a bad int(), a first function, while and for loops, the largest-so-far pattern, then pandas on the Titanic passenger list — head, dtypes, shape, column selection, means, isnull().sum(), and filtering rows. Outputs cleared so you get them by running. Four questions at the end.
Open in ColabThe Leakage Time Machine — when did you know that?
Drag the moment a prediction is made and watch which columns exist yet, how good a real model looks, and whether there is still a decision left to make — on a bank's phone campaign (AUC 0.73 → 0.93 once the call length leaks in) and on the hotel bookings from the competition. Tonight's one question, made draggable.
Explore nowLab 0 — Python Foundations Check (Colab)
Thirteen short exercises on the four Python chapters from Sessions 1–2, each with a check cell that prints ✓ or tells you what is off. Due Mon Oct 5, 11:59 PM; completion credit under Participation & in-class labs.
Explore nowThe Churn Detective — a self-checking case file (HW1 companion)
Seven case files on the Telco data, one per part of Homework 1: the tampered TotalCharges column, groupby interrogations, engineered clues, the sign-up-day time machine, a model that beats the baseline, and framing your own prediction problem. Guess before you run, then a check cell prints ✓. 60–90 minutes; ends with a scorecard.
Open in ColabOlist Brazilian E-Commerce — the dataset
Roughly 100,000 real orders from a Brazilian marketplace, 2016–2018, in eight linked tables with a published schema diagram. Requires a free Kaggle account (two minutes to create with your suffolk.edu email); the notebook has a no-login fallback on Telco if you would rather not.
Open on Kagglepandas User Guide — Merge, Join, Concatenate and Compare
The official reference for merge(), including the validate argument that turns a silent row explosion into a loud error. Read the 'Checking for duplicate keys' section twice.
Read the guidePython for Data Analysis, 3rd ed. — Ch. 7 Data Cleaning & Ch. 8 Wrangling
Wes McKinney wrote pandas; this is his free online book. Chapters 7 and 8 are the definitive treatment of missing data, joins, reshaping, and groupby.
Read online (free)Story: The Pneumonia Model That Learned Asthma Was Safe
Caruana et al. (KDD 2015): a model trained on hospital data concluded asthma patients had a lower risk of dying from pneumonia — because asthma patients were rushed to intensive care. The data was right, the model was right, and deploying it would have killed people. The classic story of a signal that is really a leak.
Read the paperscikit-learn — Common Pitfalls: Data Leakage
The library's own page on leakage during preprocessing and how Pipelines prevent it. The bridge from tonight's warning to next week's fix.
Read the pageKaggle Learn — Data Leakage (Intermediate ML)
A short, free tutorial with two worked examples of target leakage and train-test contamination. Twenty minutes, and you will never look at a suspiciously high score the same way.
Open the tutorialRefresher: Exploratory Data Analysis with pandas (ISOM 730 notebook)
Prof. Arslan's earlier notebook on matplotlib and seaborn — histograms, pair plots, bar plots. If tonight's charts went fast, this is the slow version. Hosted in the course repo — opens in Colab with one click.
Open in ColabSession 3 Notebook — Leak-Proof Feature Pipelines
The wrong way and the right way side by side, then the full ColumnTransformer + Pipeline on Bank Marketing, target encoding, and engineered Telco features with before/after AUC.
Open in ColabSession 3 Class Notebook — What We Type Together
Tonight's live notebook: pandas continued from where Session 2 stopped — describe, value_counts, sorting, loc/iloc, new columns, missing values, groupby — on Titanic first, then the same moves on Telco through to who to call first.
Open in Colabscikit-learn User Guide — Preprocessing Data
The reference for every transformer we use tonight: StandardScaler, OneHotEncoder, OrdinalEncoder, TargetEncoder, and the imputers. Bookmark it.
Open the guideInria scikit-learn MOOC — Handling Categorical Data & Pipelines
The course taught by scikit-learn's own developers. The 'Predictive modeling pipeline' module is the best free walkthrough of ColumnTransformer that exists.
Open the MOOCKaggle Learn — Feature Engineering
Four short lessons: mutual information, creating features, k-means features, and target encoding. Ninety minutes, free, with exercises.
Start the courseskrub — Machine Learning With Dataframes
TableVectorizer picks an encoder for every column automatically; the Cleaner handles dates and dirty strings. The 2025 answer to 'I have a table, give me features.'
See the docsStory: Why Call Duration Is the Most Famous Leak in ML
The Bank Marketing dataset's own documentation warns that 'duration' should be discarded for a realistic model — the outcome is known once the call ends. A leak so well known it comes with a label.
Read the dataset notesStatQuest — One-Hot Encoding & Feature Scaling
Search the StatQuest index for 'one-hot' and 'standardization'. Ten minutes each, and the pictures stick.
Open the indexSession 4 Notebook — Classification on Credit-Card Default
Logistic regression with odds ratios, kNN and Naive Bayes with decision-boundary plots, the confusion matrix by hand, classification_report, ROC and PR curves, and class_weight='balanced'.
Open in ColabThe Threshold & Profit Explorer — Preview
Next week's explorer, available now: drag the threshold across the two score distributions and watch precision, recall, and the confusion matrix move. Ignore the profit panel until Session 5 — or don't.
Open the explorerMLU-Explain — Logistic Regression
The sigmoid, log-odds, and the decision boundary, interactively. Pairs with tonight's odds-ratio reading.
Open the explainerMLU-Explain — ROC & AUC
Slide the threshold and watch the point walk along the ROC curve. The cleanest explanation of what AUC is (and is not) on the web.
Open the explainerMLU-Explain — Precision & Recall
Precision, recall, F1 and the confusion matrix with a live example — the vocabulary of Session 4 in one scroll.
Open the explainerscikit-learn User Guide — Classification Metrics
Every metric from tonight with its formula: precision, recall, F1, ROC-AUC, average precision, and the confusion matrix. The section on multiclass averaging will save you later.
Open the guideDefault of Credit Card Clients — the dataset
Yeh & Lien's 2009 dataset from a Taiwanese bank: 30,000 clients, April–September 2005. The documentation explains the payment-status codes (−1 = paid duly, 1 = one month late …) that make the strongest features.
Read the documentationStory: AI Credit Models — More Approvals at the Same Risk (vendor-reported)
Lenders using ML underwriting report approving materially more applicants at constant default rates — Upstart has claimed ~43% more approvals at the same loss rate. Vendor numbers, so read them as claims; the mechanism (better ranking than a scorecard) is exactly tonight's AUC.
Read the claimsStatQuest — Logistic Regression & ROC/AUC, Clearly Explained
Search the index for 'Logistic Regression' and 'ROC and AUC'. The ROC video in particular is the best 16 minutes you can spend before next week. Also embedded on this page.
Watch on YouTubeRefresher: Naive Bayes Classification (ISOM 730 notebook)
Prof. Arslan's earlier notebook on Gaussian and multinomial Naive Bayes, including the text-classification example. Pairs with the SVM refresher if you want a fourth boundary shape. Hosted in the course repo — opens in Colab with one click.
Open in ColabRefresher: Müller & Guido, Ch. 5 — Metrics, Confusion Matrices, ROC (official notebook)
The book chapter on evaluation: precision, recall, F1, ROC and AUC, with the imbalanced-class discussion. A slower second pass over tonight.
Open in ColabSession 5 Notebook — From Scores to Decisions
The cost matrix, the profit curve, TunedThresholdClassifierCV with a dollar scorer, calibration curves and CalibratedClassifierCV, lift and gain charts, and top-k targeting under a budget — all on Telco.
Open in ColabCompetition Starter Notebook — a leak-free submission in ten minutes
Loads the Kaggle files, builds the Session 3 pipeline, cross-validates (≈ 0.89 AUC), and writes submission.csv. It reproduces the logistic baseline on the leaderboard exactly; everything after that is yours.
Open in ColabAdvanced Track — Uplift Modeling: Who Is Worth Persuading?
Optional companion notebook: a simulated randomized pilot, a churn model vs. a T-learner uplift model, the uplift curve, and why targeting the riskiest customers sends offers to lost causes. Pure scikit-learn, with an optional CausalML cell.
Open in ColabGoogle PAIR — Uncertainty & Calibration
An explorable from Google's People + AI Research team: what it means for a model's 70% to mean 70%, and how calibration is measured and fixed.
Open the explainerGoogle ML Crash Course — Thresholds and the Confusion Matrix
Google's 2024-rebuilt crash course on choosing a classification threshold — short, with an interactive exercise.
Read the lessonscikit-learn — Comparison of Calibration of Classifiers
The canonical figure: logistic regression on the diagonal, random forest and naive Bayes bowed off it. Runnable example.
Open the examplescikit-uplift & the Criteo Uplift Dataset
If the advanced uplift notebook hooked you: a scikit-learn-style uplift library with tutorials, and the 25-million-row Criteo dataset (ailab.criteo.com) for a real project.
Open the docsscikit-learn User Guide — Tuning the Decision Threshold
TunedThresholdClassifierCV and FixedThresholdClassifier, with the cost-sensitive learning example that mirrors tonight's lab.
Open the guidescikit-learn User Guide — Probability Calibration
Calibration curves, CalibratedClassifierCV, isotonic vs. sigmoid, and the famous figure showing which model families are naturally calibrated and which are not.
Open the guideStory: Stripe Radar — Fraud Decisions at 100ms
Stripe reports its Radar models cut fraud by roughly a third for the average business. Every one of those decisions is a threshold on a probability, tuned against the cost of a blocked good customer versus a fraudulent charge — tonight's arithmetic at planetary scale.
Read about RadarStory: Wayfair's Uplift Models — Targeting the Persuadables
Why a churn score is not a targeting score: Wayfair explains the four customer types (persuadables, sure things, lost causes, sleeping dogs) and why you should only pay to reach the first.
Read the explainerKaggle — The ISOM 835 Midterm Model Competition
The invitation link is posted on Canvas. Join with your suffolk.edu Kaggle account, form a team of 2–3, download train.csv and test.csv from the Data tab, and read the rules — the leak columns are gone, but agent, company, and country deserve thought. Five submissions per day; leaderboard closes Mon Nov 9, 4:30 PM.
Join via Canvas linkProvost & Fawcett — Data Science for Business, Chapters 7–8
The expected-value framework, profit curves, lift and cumulative response charts — the chapters this session is built on. Not free, but the single best business treatment of tonight's ideas.
See the bookSession 6 Notebook — Regression on Ames Housing
One-feature line, full pipeline with log target, RidgeCV / LassoCV / ElasticNetCV with coefficient paths, residual diagnostics, and every metric on the menu in dollars.
Open in ColabMLU-Explain — Linear Regression
Least squares as a picture: drag points, watch the line and the residuals move, and see what R² actually measures.
Open the explainerSetosa — Ordinary Least Squares, Explained Visually
Drag the data and watch the squared errors — literally drawn as squares — shrink as the line finds its place.
Open the explainerKaggle — House Prices: Advanced Regression Techniques
The Ames data as a permanent Kaggle competition. Submit your HW3 predictions and see where a well-built linear model lands on the leaderboard — a warm-up for the midterm competition.
Open the competitionscikit-learn User Guide — Linear Models
OLS, Ridge, Lasso, ElasticNet, and their CV variants, with the cost functions written out. The place to check what alpha actually multiplies.
Open the guideStory: Zillow's $500M Lesson in Prediction Error
In 2021 Zillow shut its home-flipping unit after its pricing models overpaid at scale, writing down more than $500 million. The residual plot nobody looked at — and a reminder that a point prediction without an error bar is a bet.
Read the storyStatQuest — Ridge, Lasso & Elastic Net Regression
Search the index for 'Ridge', 'Lasso', and 'Elastic Net' — three short videos that make the penalty geometry obvious. Also embedded on this page.
Watch on YouTubeRefresher: Linear Regression, Basis Functions, Ridge & Lasso (ISOM 730 notebook)
Prof. Arslan's earlier notebook: simple regression, polynomial basis functions, and the ridge/lasso intuition on a small example. The slow version of tonight's middle hour. Hosted in the course repo — opens in Colab with one click.
Open in ColabSession 7 Notebook — Trees & Random Forests on Hotel Bookings
plot_tree, the depth validation curve, bagging vs. random forest, out-of-bag score, impurity vs. permutation importance (with the ID-column trap), and partial dependence plots.
Open in ColabHotel Booking Demand — the dataset
Antonio, de Almeida & Nunes (2019). The course file holds the competition's 83,573 training bookings, 32 columns, 37% canceled — hosted in the repo for no-login loading. The 35,817 hidden test bookings exist only on Kaggle, so anything you learn from the course file is fair game.
View the dataMLU-Explain — Decision Trees
Watch a tree grow split by split on a live dataset, with impurity shown at every node.
Open the explainerMLU-Explain — Random Forest
Bootstrap samples, feature subsets, and the vote — animated. Why hundreds of noisy trees beat one careful one.
Open the explainerR2D3 — A Visual Introduction to Machine Learning
The most beautiful explanation of a decision tree ever made: San Francisco vs. New York homes, split by split, as you scroll. Part 2 covers bias and variance. Ten minutes; show it to someone who has never heard of ML.
Scroll the storyscikit-learn User Guide — Permutation Feature Importance
Why impurity importance misleads and how permutation importance fixes it — with the exact random-column example we reproduce in class.
Open the guideStory: Booking.com — 150+ Models and the Cancellation Problem
Bernardi, Mavridis & Estevez (KDD 2019): what Booking.com learned deploying 150 production models, including that offline gains often don't translate to business value. Required reading for anyone who thinks the leaderboard is the goal.
Read the paper pageStatQuest — Decision Trees & Random Forests
Search the index for 'Decision and Classification Trees' and 'Random Forests Part 1'. The Gini walk-through is the clearest on the internet. Also embedded on this page.
Watch on YouTubeRefresher: Decision Trees & Random Forests (ISOM 730 notebook)
Prof. Arslan's earlier notebook: a tree on synthetic blobs, the overfitting picture, bagging with 100 trees, and random-forest regression. The intuition, at a gentler pace. Hosted in the course repo — opens in Colab with one click.
Open in ColabSession 8 Notebook — Gradient Boosting & the Tabular Frontier
Residual-fitting animation, HistGradientBoosting vs. LightGBM vs. XGBoost on hotel bookings, early-stopping curves, the four knobs, and an optional TabICL cell for the foundation-model comparison.
Open in ColabThe Gradient Boosting Explorer
Watch residuals shrink tree by tree. Drag the learning rate and tree depth, step through the ensemble, and see validation loss turn back up when you keep going — early stopping as a picture.
Open the explorerexplained.ai — How to Explain Gradient Boosting (Parr & Howard)
The best long-form explanation of boosting on the web: residual fitting with pictures, then the gradient-descent view, by the authors of the fast.ai ML course.
Read the essayGradient Boosting Interactive Playground
Change the learning rate, depth, and number of trees on a 2-D classification problem and watch the decision surface sharpen — a second angle on our Boosting Explorer.
Open the explainerMLU-Explain — Double Descent
Why very large models can generalize after they overfit — the phenomenon behind foundation models, explained visually. Frontier reading for the TabPFN discussion.
Open the explainerscikit-learn User Guide — Histogram-Based Gradient Boosting
Categorical support, missing values, early stopping, and monotonic constraints — the section that makes HistGradientBoosting the right first boosting model in 2026.
Open the guideGrinsztajn, Oyallon & Varoquaux (2022) — Why Do Tree-Based Models Still Outperform Deep Learning on Tabular Data?
The benchmark paper that settled the argument for three years: on 45 tabular datasets, tuned tree ensembles beat neural networks, and the paper explains why (uninformative features, irregular functions, rotation invariance).
Read the abstractTabPFN-2.5 (Nov 2025) — Advancing the State of the Art in Tabular Foundation Models
Up to 50k rows and 2k features; reports a 100% win rate against default XGBoost on classification datasets up to 10k rows and parity with AutoGluon's four-hour ensembles. The paper that made 'zero-shot tabular' a serious option.
Read the paperTabICL (Inria) — Open-Source Tabular Foundation Model
pip install tabicl. scikit-learn-compatible, scales to ~500k rows, fully open source, and competitive with tuned gradient boosting on most of TabArena. The one we run in class.
Open the repoTabArena — the Living Tabular Benchmark
A continuously updated leaderboard of GBDTs, neural nets, foundation models, and AutoML on curated tabular datasets. Check it before choosing a model — and read the licensing column.
Open the leaderboardXGBoost Documentation — Introduction to Boosted Trees
The clearest short derivation of gradient boosting with trees, from the library's own docs. Read it once and the objective function stops being scary.
Read the tutorialStatQuest — Gradient Boost Parts 1–4 & XGBoost
Search the index for 'Gradient Boost'. Part 1 (regression main ideas) and Part 3 (classification) are the ones to watch before Milestone 3 of your project. Also embedded on this page.
Watch on YouTubeSession 9 Notebook — Tuning, Explaining & Uncertainty
GroupKFold and TimeSeriesSplit demos, an Optuna study on the hotel GBM, SHAP waterfall and beeswarm, partial dependence with ICE, MAPIE conformal intervals and prediction sets, fairness slices, and a model-card template.
Open in ColabThe Conformal Explorer
Set a coverage target, watch the calibration residuals size the band, then draw new cases a hundred times and check the promise. Underfit the model, shrink the calibration set, or shift the data to see what breaks it.
Open the explorerMLU-Explain — Cross-Validation
K-fold, animated: watch the folds rotate and the estimate stabilize.
Open the explainerAngelopoulos & Bates — A Gentle Introduction to Conformal Prediction
The self-contained tutorial that made conformal prediction mainstream: the split-conformal recipe, coverage guarantees, and extensions to classification, time series, and distribution shift.
Read the paperGoogle PAIR — Measuring Fairness
An explorable on why equal accuracy can hide unequal error rates, and the trade-offs between fairness definitions. Do this before the fairness-slicing lab.
Open the explainerMLU-Explain — Equality of Odds
A fairness criterion you can drag: equalize true- and false-positive rates across groups and see what it costs.
Open the explainerMolnar — Interpretable Machine Learning (free book)
The reference for SHAP, partial dependence, ICE, permutation importance, and counterfactuals — with the honest caveats for each.
Read onlineFairlearn
Microsoft's open-source toolkit for assessing and mitigating fairness issues: MetricFrame for sliced metrics is the one-liner behind tonight's fairness section.
Open the docsscikit-learn User Guide — Cross-Validation: Evaluating Estimator Performance
Every splitter with a picture: KFold, StratifiedKFold, GroupKFold, StratifiedGroupKFold, TimeSeriesSplit. The visualization section alone is worth the visit.
Open the guideSHAP Documentation — An Introduction to Explainable AI With Shapley Values
The canonical walkthrough from the library's authors: what Shapley values are, why they are the fair attribution, and how to read every plot type we use tonight.
Read the introductionMAPIE — Model-Agnostic Prediction Interval Estimator
scikit-learn-contrib's conformal prediction library. The 1.x API (SplitConformalRegressor, CrossConformalRegressor, SplitConformalClassifier) is what we use; the theory pages are short and readable.
Open the docsOptuna — Hyperparameter Optimization Framework
Define an objective, call study.optimize, read study.best_params. The tutorial's first example is the ten lines we write in class.
Open the siteKaggle Learn — Machine Learning Explainability
Permutation importance, partial dependence, and SHAP values in four short lessons with exercises. The fastest path to fluency before Milestone 3.
Start the courseStory: A Readmission Model Rebuilt for Equity at ZSFG
Zuckerberg San Francisco General replaced a vendor readmission model with an in-house gradient-boosted tree that includes social-determinants data — and reports lower readmissions and narrower equity gaps. Explanation, slicing, and monitoring in a real hospital.
Read the storyMitchell et al. (2019) — Model Cards for Model Reporting
The paper that defined the one-page model card: intended use, factors, metrics, evaluation data, ethical considerations, caveats. Your final project includes one.
Read the paperSession 10 Notebook — Segments, Structure & Anomalies
RFM from Online Retail II, k-means with elbow and silhouette, cluster profiles and names, agglomerative and DBSCAN, PCA loadings and UMAP, and Isolation Forest on a synthetic fraud stream.
Open in ColabThe k-Means Explorer
Customers on a recency × frequency plane. Step the algorithm one assignment at a time, re-initialize, change k, and watch the elbow chart and the segment table update — including the case where k-means confidently finds clusters that aren't there.
Open the explorerOnline Retail II — the dataset (UCI)
1,067,371 transactions from a UK-based online gift retailer, Dec 2009 – Dec 2011, with customer IDs, quantities, prices, and countries. Cancellations are the invoices starting with 'C'.
Open the dataset pageNaftali Harris — Visualizing K-Means Clustering
Place centroids by hand and step the algorithm on several datasets, including the ones where k-means fails. The original explorer our K-Means Explorer is modeled on.
Open the explainerNaftali Harris — Visualizing DBSCAN Clustering
Density-based clustering step by step: watch core points, border points, and noise get labeled on smiley faces and moons.
Open the explainerSetosa — Principal Component Analysis, Explained Visually
Rotate a 2-D and a 3-D cloud and watch the principal components find the directions of greatest variance.
Open the explainerscikit-learn User Guide — Clustering
The comparison table at the top — which algorithm for which shape, scale, and use case — is the single most useful page in the clustering literature.
Open the guidescikit-learn User Guide — Novelty and Outlier Detection
Isolation Forest, Local Outlier Factor, One-Class SVM, and the elliptic envelope compared on the same toy data. Read it before you pick a method for a real fraud problem.
Open the guideStory: Mastercard Decision Intelligence — Scoring 150 Billion Transactions
Industry reporting on Mastercard's real-time fraud scoring: higher detection and materially fewer false declines, each decision in under 50 milliseconds. Anomaly scores plus supervised models plus a threshold the business chose — tonight and Session 6 combined.
Read the reportStatQuest — K-means Clustering & PCA Main Ideas
Search the index for 'K-means' and 'PCA main ideas'. Eight and five minutes respectively. Also embedded on this page.
Watch on YouTubeRefresher: Principal Component Analysis (ISOM 730 notebook)
Prof. Arslan's earlier notebook: PCA on digits and faces, choosing the number of components, and PCA as noise filtering. The picture-heavy version of tonight's PCA segment. Hosted in the course repo — opens in Colab with one click.
Open in ColabSession 11 Notebook — Forecasting Bike Demand
Random vs. time-ordered splits, seasonal-naive and StatsForecast baselines, lag/rolling/calendar features with HistGradientBoostingRegressor and TimeSeriesSplit, MAE by hour of day, and an optional Chronos-2 zero-shot cell.
Open in ColabBike Sharing Dataset — UCI
Fanaee-T & Gama (2013): hourly and daily rental counts from Capital Bikeshare, 2011–2012, with weather and calendar variables. hour.csv is the file we use.
Open the dataset pageKaggle Learn — Time Series
Six lessons: trend, seasonality, lags, hybrid models, and forecasting with ML — with exercises on a store-sales dataset. The best free companion to tonight.
Start the courseHyndman & Athanasopoulos — Forecasting: Principles and Practice (3rd ed.)
The free, definitive forecasting textbook. Chapters 5 (toolbox: benchmarks, residuals, evaluation) and 13.6 (forecasting with ML) are tonight; it uses R, but the ideas are language-free.
Read online (free)Nixtla — StatsForecast & mlforecast
StatsForecast for AutoARIMA/ETS/Theta at scale, mlforecast for lag features and gradient boosting across many series with recursive forecasting built in. The free industrial stack.
Open the repoChronos-2 — From Univariate to Universal Forecasting (Amazon, Oct 2025)
The foundation model that forecasts zero-shot with covariates and multivariate inputs, leading the GIFT-Eval and fev-bench leaderboards at release. Apache-2.0 weights on Hugging Face.
Read the paperChronos on GitHub — Pretrained Models for Time Series
pip install chronos-forecasting; three lines to a zero-shot forecast. The README's quick-start is the optional cell in tonight's notebook.
Open the repoStory: How DoorDash Forecasts Holiday Demand With a Cascade of GBMs
A 2025 engineering post on predicting the hardest days of the year: gradient-boosted models with holiday multipliers layered on top. Lag features, calendar effects, and business overrides in production.
Read the postKaggle — Store Sales: Time Series Forecasting (Favorita)
A permanent competition on Ecuadorian grocery sales with promotions, oil prices, and holidays — the natural next dataset after bikes, and a strong final-project candidate.
Open the competitionSession 12 Notebook — Neural Nets, Embeddings & LLMs as Features
MLPClassifier vs. boosting on Telco, TF-IDF vs. sentence embeddings on Amazon reviews, an optional zero-shot Claude cell, embeddings appended to a tabular model, and a checklist for verifying AI-generated notebooks.
Open in Colab3Blue1Brown — Neural Networks (video series)
The best visual explanation of what a neural network computes and how gradient descent trains it. Watch the first two before class; the transformer episodes explain what powers the embedding models.
Open the playlistSentence-Transformers Documentation
SentenceTransformer('all-MiniLM-L6-v2').encode(texts) — one line from text to a 384-dimensional meaning vector. The pretrained models page lists the speed/quality trade-offs.
Open the docsAmazon Polarity — the dataset (Hugging Face)
3.6 million Amazon reviews labeled positive/negative. We use a 5,000-review slice; the datasets library streams it with no login.
Open the dataset cardTensorFlow Playground
Train a small neural network in your browser: add layers and neurons, change the activation, and watch the decision boundary bend. Ten minutes here and "hidden layer" stops being abstract.
Open the explainerMLU-Explain — Neural Networks
Forward pass, loss, backpropagation — as an interactive essay you can scroll through before class.
Open the explainerKozyrkov — Making Friends with Machine Learning (full course)
Google's former Chief Decision Scientist's beloved conceptual course, free on YouTube: what ML is for, how projects fail, and how to think like a decision-maker. Six hours; watch the first hour before the project.
Watch on YouTubeGrinsztajn et al. (2022) & LLMTabBench (2026) — When Not to Use Deep Learning
LLMTabBench: LLMs are competitive zero-shot on low-data binary tasks but degrade past a complexity threshold, and few-shot examples can hurt. Pair with the 2022 tree-vs-NN benchmark for the full picture.
Read the abstractLLM Embeddings as Features for Tabular Models (2024–25 evidence)
Embedding text fields and feeding them to XGBoost/CatBoost helps most on small, imbalanced, or text-rich datasets, and embedding-derived features often rank high in importance. The pattern we implement in class.
Read the paperGoogle Colab — Data Science Agent
Upload a CSV, describe the goal, get a full notebook. Free in Colab. We use it live and then audit what it produced — the exercise that defines the AI-assisted analyst.
Read the announcementClaude Code for Data Scientists — Getting Started
A practical walkthrough of using an agentic coding assistant on notebooks and data pipelines, including the verification habits that keep it honest.
Read the guideGéron — Hands-On ML With Scikit-Learn & PyTorch (notebooks)
The PyTorch edition of the practitioner's classic. Chapters 10–11 (introduction to neural networks, training deep nets) are the natural continuation if you want to go deeper than MLPClassifier.
Open the notebooksSession 13 Notebook — Ship It
joblib persistence and reload, a ten-line MLflow run, a Gradio demo of the churn pipeline, an Evidently drift report on a shifted sample, and the launch checklist.
Open in ColabFinal Project Brief — Your Prediction Story
The five beats, the deliverables, the memo structure, the rubric, and the FAQ. Re-read the rubric before you finalize your slides.
Open the briefGoogle — Rules of Machine Learning
Forty-three rules from Google engineers on shipping ML. Rule #1: don't be afraid to launch a product without machine learning. Read before you present.
Read the rulesStanford CS 329S — Machine Learning Systems Design (Chip Huyen)
The course notes on data pipelines, deployment, monitoring, and drift that Session 13 compresses into forty-five minutes — free, for when you ship for real.
Open the coursescikit-learn User Guide — Model Persistence
joblib vs. pickle vs. skops vs. ONNX, the security caveats, and why you record the scikit-learn version alongside the file.
Open the guideMLflow — Tracking Quickstart
Log parameters, metrics, and a model in one run; compare runs in the UI. The experiment log that replaces file names ending in _final_v3.
Open the quickstartGradio — Quickstart
gr.Interface(fn, inputs, outputs).launch(share=True) — a shareable web demo of any Python function, from Colab, in a minute.
Open the quickstartEvidently — Data Drift Reports
Open-source monitoring: compare a reference dataset to current data, get per-column drift tests and a shareable HTML report. The first thing to schedule after launch.
Open the docsEU AI Act — Omnibus Changes and Deferred High-Risk Deadlines (2026)
A law-firm summary of where the AI Act stands after the 2026 Digital Omnibus: the AI-literacy duty already in force, transparency duties from Aug 2026, and Annex III high-risk obligations (credit scoring, hiring, insurance) deferred to Dec 2, 2027.
Read the summaryColorado SB 26-189 — Automated Decisions in Consequential Settings
Signed May 2026, effective Jan 1, 2027: disclosure, adverse-outcome explanation within 30 days, and human-review rights for automated decisions in employment and similar contexts. The shape of US regulation to come.
Read the bill page