Track your progress. Sign in, or start with Framing a Problem as Machine Learning
Data Scientist
Build, tune and evaluate supervised and unsupervised models, and judge honestly when they will generalise. Finish it and you can take a problem from raw data to a validated model, and know its limits.
Curriculum structure
01The ML workflow and first models5 lessons02Regression, done properly9 lessons03Classification fundamentals7 lessons04Trees and gradient boosting10 lessons05The tidymodels workflow8 lessons06Feature engineering and selection8 lessons07Model evaluation, resampling and tuning8 lessons08Imbalanced, cost-sensitive and calibrated classification7 lessons09Unsupervised - clustering and dimensionality reduction9 lessons10Experiment and causal basics6 lessons11Interpretability and responsible AI (essentials)7 lessons12Shipping your first model (production essentials)7 lessons13Regression and GLMs - the expert cut14 lessons14Advanced supervised learning9 lessons15Survival and time-to-event8 lessons16Bayesian and hierarchical modeling10 lessons17Experimentation and online learning8 lessons18Causal inference for decisions12 lessons19Robustness, drift and distribution shift8 lessons20Anomaly detection and advanced unsupervised8 lessons21Uncertainty - conformal, calibration and probabilistic prediction8 lessons
Full curriculum
01The ML workflow and first models5 lessons, 1 free
01.01Framing a Problem as Machine LearningTurn a vague business question into a well-posed prediction problem.Free01.02The Bias-Variance TradeoffWhy a more flexible model is not always a more accurate one.Pro01.03Train, Validation, Test, and Data LeakageSplit data so the test score is honest, and avoid common data leaks.Pro01.04Your First End-to-End Model in RTake one dataset from raw rows to a fitted, checked, reproducible model.Pro01.05QuizCheck what stuck before you move on.Pro
02Regression, done properly9 lessons, 1 free
02.01OLS Regression from ScratchHow a regression finds the best-fitting line and what its numbers mean.Free02.02Regression Assumptions and ResidualsHow to check the assumptions a regression relies on by reading its residuals.Pro02.03Influence and LeverageHow a single unusual point can dominate a regression, and how to find it.Pro02.04Multicollinearity in RegressionWhy correlated predictors make coefficients unstable, and how to detect and fix it.Pro02.05Heteroskedasticity and AutocorrelationHow non-constant variance and correlated errors distort standard errors, and how to correct them.Pro02.06Inference and Prediction in RegressionWhether an effect is real, and how far a single prediction can miss.Pro02.07Logistic Regression Done ProperlyModel a yes-or-no outcome as a probability and read what drives it.Pro02.08GLMs Beyond LogisticFit the right model when your outcome is a count or a skewed amount.Pro02.09QuizCheck what stuck before you move on.Pro
03Classification fundamentals7 lessons, 1 free
03.01kNN and the Curse of DimensionalityHow nearest-neighbor classification works, and why too many features break it.Free03.02Naive Bayes for Tabular and TextHow Bayes' rule classifies email and tabular data, and why naive works.Pro03.03Discriminant Analysis, LDA and QDAWhen to separate classes with a straight boundary and when to curve it.Pro03.04Decision Trees for ClassificationHow a single tree splits data into readable rules, and where it overfits.Pro03.05Decision Boundaries and Model GeometryHow each classifier's assumptions show up as the shape of its boundary.Pro03.06Reading a ClassifierHow to grade a classifier honestly when accuracy alone can mislead.Pro03.07QuizCheck what stuck before you move on.Pro
04Trees and gradient boosting10 lessons, 2 free
04.01Gradient Boosting from ScratchHow boosting fixes its own mistakes one correction at a time.Free04.02Decision Trees from scratchHow a single decision tree splits data to make predictions.Free04.03LightGBM and CatBoost in RThe modern fast boosters, how they handle categories, and which one to pick.Pro04.04From one tree to a forestWhy combining many trees predicts better than any one.Pro04.05The Hyperparameters That MatterThe handful of boosting settings that actually move results, and how to set them.Pro04.06Train, tune and read a forest in RTrain, tune, and interpret a random forest on real data.Pro04.07Early Stopping and Learning CurvesRead train and validation curves to stop training right before it overfits.Pro04.08Monotonic Constraints for Business RulesWhen and how to force a feature's effect to move only one direction.Pro04.09Quantile Regression Forests and Prediction IntervalsPredict a range of likely outcomes, not just one number.Pro04.10QuizCheck what stuck before you move on.Pro
05The tidymodels workflow8 lessons, 1 free
05.01Preprocess with recipesBuild a preprocessing pipeline that learns only on training data, leak-free.Free05.02Define models with parsnipOne interface to fit and swap many models without rewriting your code.Pro05.03Bundle steps with workflowsCombine preprocessing and a model so train and test follow the same path.Pro05.04Resample with rsampleEstimate how good your model really is, instead of trusting one lucky split.Pro05.05Measure with yardstickPick metrics that fit your goal and read them across folds.Pro05.06Tune with the tune packageSearch a model's settings with resampling and lock in the best.Pro05.07Compare many models with workflowsetsHow to compare several models on equal footing and pick the best.Pro05.08QuizCheck what stuck before you move on.Pro
06Feature engineering and selection8 lessons, 1 free
06.01Encoding Categorical VariablesTurn category columns into numbers a model can use, without inventing fake order.Free06.02Target Encoding Without LeakageEncode a category by its average outcome without leaking the answer.Pro06.03Scaling and TransformationsPut features on a common scale and tame skew so scale-sensitive models behave.Pro06.04Interaction and Spline FeaturesHow to let a linear model capture curves and conditional effects without overfitting.Pro06.05Features from Dates, Text and GeoTurn timestamps, text and coordinates into numeric features a model can actually use.Pro06.06Imputing Missing Values in FeaturesHow to fill missing values without distorting results or leaking the test set.Pro06.07Feature Selection and Spotting LeakageKeep the features that earn their place, and catch leaks that inflate your score.Pro06.08QuizCheck what stuck before you move on.Pro
07Model evaluation, resampling and tuning8 lessons, 1 free
07.01Cross-Validation StrategiesEstimate a model's real error honestly, instead of trusting one lucky split.Free07.02Grouped, Blocked, and Time-Aware CVResample grouped or time-ordered data so your accuracy score stays honest.Pro07.03Nested Cross-ValidationHow to report a tuned model's accuracy honestly, not an optimistic guess.Pro07.04Hyperparameter Tuning StrategiesHow to find good model settings without wasting your search budget.Pro07.05Scoring Rules and Regression MetricsChoosing an error metric that rewards the prediction you actually want.Pro07.06Comparing Models StatisticallyHow to tell a real model improvement from the luck of one split.Pro07.07From Metrics to MoneyHow to turn a metric gain into dollars and the decision it should drive.Pro07.08QuizCheck what stuck before you move on.Pro
08Imbalanced, cost-sensitive and calibrated classification7 lessons, 1 free
08.01Beyond Binary: Multiclass ClassificationHow to classify into three or more classes and score it fairly.Free08.02Class Imbalance and ResamplingHow to rebalance a rare class without leaking into your test results.Pro08.03Thresholds Under Asymmetric CostsSet the cutoff by what each error costs, not a default 0.5.Pro08.04ROC, PR, Lift and Gains CurvesWhich evaluation curve tells the truth when positives are rare.Pro08.05Calibrating Predicted ProbabilitiesMake a predicted 0.7 actually mean a 70% chance.Pro08.06Why AUC Is Not EnoughWhat a single AUC score hides, and which numbers to check instead.Pro08.07QuizCheck what stuck before you move on.Pro
09Unsupervised - clustering and dimensionality reduction9 lessons, 1 free
09.01PCA in RCompress many correlated columns into a few directions that capture most variation.Free09.02Factor AnalysisUncover the hidden factors that produce a set of correlated measurements.Pro09.03k-Means and Choosing kGroup customers into segments, and decide how many groups the data supports.Pro09.04Hierarchical and Density ClusteringFind clusters of any shape, without deciding how many groups up front.Pro09.05Gaussian Mixture ModelsCluster with probabilities so a point on the border can belong to two groups.Pro09.06Cluster Validation and StabilityHow to tell whether the clusters you found are real, not just imposed.Pro09.07t-SNE and UMAPTurn high-dimensional data into a 2D map, and read it without being misled.Pro09.08Association Rules and Market BasketFind which products genuinely sell together, and tell real patterns from coincidence.Pro09.09QuizCheck what stuck before you move on.Pro
10Experiment and causal basics6 lessons, 1 free
10.01Correlation, Causation and Potential OutcomesWhy correlation is not causation, and what a real causal effect actually means.Free10.02Causal Diagrams with DAGsReading confounders, colliders and mediators off a causal diagram.Pro10.03A/B Testing and Experiment DesignDesign a fair online test and size it to detect a real effect.Pro10.04Reading an ExperimentHow big the effect really is, how sure, and what you can claim.Pro10.05When You Cannot RandomizeEstimate a causal effect when you cannot run a randomized experiment.Pro10.06QuizCheck what stuck before you move on.Pro
11Interpretability and responsible AI (essentials)7 lessons, 1 free
11.01Global vs Local ExplanationsWhat a model learned overall versus why it made one prediction.Free11.02Permutation and Drop-Column ImportanceHow to measure feature importance for any model, and where it misleads.Pro11.03SHAP ValuesSplit one prediction into fair per-feature contributions that sum to it.Pro11.04Partial Dependence, ICE, and ALESee the shape of a feature's effect on predictions, averaged and row by row.Pro11.05Fairness BasicsCheck whether a model treats groups unequally, and how to respond.Pro11.06Model Cards and Documenting a ModelDocument a model's intended use, training data, and known limits.Pro11.07QuizCheck what stuck before you move on.Pro
12Shipping your first model (production essentials)7 lessons, 1 free
12.01Reproducible pipelines with targetsRerun only the steps that changed, so results always match your code.Free12.02Versioning models with vetiver and pinsRegister, version and retrieve a trained model so you know which one is live.Pro12.03Serving a model with plumberWrap a trained model in a small web service other systems can call.Pro12.04Batch vs real-time inferenceMatch the way you serve a model to the decision it drives.Pro12.05Monitoring and driftSpot when a live model's inputs or accuracy drift, and when to retrain.Pro12.06An ML system design checklistThe questions to settle before a model ships, from data to rollback.Pro12.07QuizCheck what stuck before you move on.Pro
13Regression and GLMs - the expert cut14 lessons
13.01Robust Regression with M-EstimatorsHow to keep one bad data point from tilting your regression line.Pro13.02MM-Estimation and the Breakdown PointHow to fit a regression you can trust when many rows are bad.Pro13.03Quantile RegressionPredict the median and the tails, not just the average, when spread changes.Pro13.04Ridge Regression and ShrinkageWhy shrinking coefficients steadies a model when predictors are correlated.Pro13.05Lasso and Elastic NetShrink weak coefficients to zero so the model selects the predictors that matter.Pro13.06GAMs, Splines and SmoothsHow to fit a smooth curve when a relationship bends, without guessing its shape.Pro13.07Choosing Smoothness in a GAMHow to tell whether a fitted smooth curve is flexible enough and trustworthy.Pro13.08Poisson and Negative Binomial RegressionHow to model counts and stay honest when they vary more than expected.Pro13.09Zero-Inflated and Hurdle ModelsHow to handle count data with far more zeros than a standard model expects.Pro13.10Gamma and Tweedie RegressionHow to model strictly positive, skewed amounts and losses with many zeros.Pro13.11Beta and Ordinal RegressionHow to model a proportion bounded in 0 to 1, and an ordered rating.Pro13.12Mixed Models and Random InterceptsHow to give each group its own baseline while sharing information across them.Pro13.13Random Slopes and GLMMsHow to let each group have its own trend, plus yes/no outcomes.Pro13.14QuizCheck what stuck before you move on.Pro
14Advanced supervised learning9 lessons, 1 free
14.01Support Vector Machines and the Maximum MarginWhy the widest-margin boundary is the most reliable, and which points fix it.Free14.02Kernel SVMs and the Kernel TrickHow kernels bend the boundary to separate classes a straight line cannot.Pro14.03Regularized Discriminant AnalysisBlend LDA and QDA when you have many classes or thin data.Pro14.04Gaussian Processes for RegressionPredict a curve and get honest uncertainty that widens where data is thin.Pro14.05Stacking and the Super LearnerCombine several models into one that beats the best of them.Pro14.06Bayesian Optimization for HyperparametersTune expensive models in a handful of evaluations by modeling the search itself.Pro14.07Approximate Nearest Neighbors at ScaleFast similarity search over millions of items, by trading a little exactness.Pro14.08A Tuned, Stacked Model End to EndAssemble tuning, stacking and honest evaluation into one trustworthy pipeline.Pro14.09QuizCheck what stuck before you move on.Pro
15Survival and time-to-event8 lessons, 1 free
15.01Survival Data and CensoringWhat censored follow-up data really says, and why ordinary averages get it wrong.Free15.02Kaplan-Meier and the Log-Rank TestEstimate survival curves from censored data and test whether two groups differ.Pro15.03Cox Proportional HazardsEstimate how much each factor multiplies the risk, adjusting for the others.Pro15.04Checking Proportional HazardsHow to tell whether one hazard ratio holds for the whole follow-up.Pro15.05Parametric and AFT ModelsAssume a shape for survival time to predict beyond your last follow-up.Pro15.06Competing Risks and Cumulative IncidenceMeasuring one risk correctly when a competing event can happen first.Pro15.07Survival ML and EvaluationFit a flexible survival model, then judge whether its predictions can be trusted.Pro15.08QuizCheck what stuck before you move on.Pro
16Bayesian and hierarchical modeling10 lessons, 2 free
16.01The Bayesian UpdateHow prior knowledge and new data combine into one honest updated estimate.Free16.02Build an LLM agent from scratchHow an LLM agent uses tools to act, and how to keep it safe.Free16.03Conjugacy and Choosing PriorsUpdate beliefs in closed form and choose a prior you can defend.Pro16.04MCMC and the Metropolis SamplerHow to estimate any posterior by sampling when no formula exists.Pro16.05HMC, NUTS and MCMC DiagnosticsThe physics behind modern samplers, and the checks that catch an untrustworthy chain.Pro16.06Hierarchical Models and Partial PoolingWhy small groups should borrow strength from large ones, and how much.Pro16.07Posterior Predictive ChecksHow to test a fitted model by asking it to recreate your data.Pro16.08Bayesian Model Comparison with LOO and WAICHow to score rival models on days they never saw before choosing one.Pro16.09Bayesian Regression and GLMs End to EndHow to turn predictors and a prior into a decision you can defend.Pro16.10QuizCheck what stuck before you move on.Pro
17Experimentation and online learning8 lessons, 1 free
17.01Designing Experiments for PowerWork out how many users your A/B test needs before you launch it.Free17.02Variance Reduction with CUPEDDetect smaller effects from the same sample by removing predictable noise.Pro17.03Experiment Pitfalls, Peeking and SRMSpot peeking, broken randomization and interference before they hand you false winners.Pro17.04Cluster and Switchback ExperimentsWhen users interfere, randomize whole groups or time blocks instead.Pro17.05Multi-Armed Bandits, Explore vs ExploitKeep a live test earning while it learns which option is best.Pro17.06Thompson Sampling and Bayesian BanditsLet each variant earn traffic in proportion to the chance it is best.Pro17.07Contextual Bandits and Off-Policy EvaluationLet the best variant depend on the reader, and score new rules from logs.Pro17.08QuizCheck what stuck before you move on.Pro
18Causal inference for decisions12 lessons, 1 free
18.01Matching and the Propensity ScoreFairly compare treated and untreated groups when you could not randomize.Free18.02Inverse-Probability Weighting and Doubly-Robust EstimationReweight to fix confounding, with a safety net if a model is wrong.Pro18.03Difference-in-Differences and Parallel TrendsMeasure a policy's effect by comparing the before-and-after change in two groups.Pro18.04Staggered DiD and the Negative-Weights ProblemWhen a policy rolls out in waves, the usual estimator can mislead.Pro18.05Regression DiscontinuityRead a causal effect from the jump at a cutoff on a running variable.Pro18.06Instrumental Variables and 2SLSEstimate a causal effect when a hidden influence biases the treatment.Pro18.07Synthetic ControlEstimate a policy's effect when only one unit was treated and no control fits.Pro18.08Uplift and Heterogeneous EffectsFind which customers a treatment helps and which it hurts, then target accordingly.Pro18.09Double Machine LearningUse flexible machine learning for confounding without biasing your treatment effect.Pro18.10Sensitivity Analysis and Placebo TestsHow much a hidden confounder could change your causal conclusion.Pro18.11Mediation AnalysisHow much of an effect runs directly versus through a mediator.Pro18.12QuizCheck what stuck before you move on.Pro
19Robustness, drift and distribution shift8 lessons, 1 free
19.01Kinds of Distribution ShiftThe three ways live data drifts from training, and which one breaks your model.Free19.02Detecting Distribution ShiftHow to catch data drift from the inputs alone, before the labels arrive.Pro19.03Adapting to Drift: Reweighting and RetrainingCorrect shifted inputs by reweighting, and retrain only when the data says to.Pro19.04Out-of-Distribution and Novelty DetectionFlag inputs unlike anything the model saw, and tune the false-alarm rate.Pro19.05Group Robustness and DROWhy average accuracy can hide a whole subgroup the model is failing.Pro19.06Adversarial RobustnessHow a tiny nudge can flip a confident prediction, and how to defend.Pro19.07A Monitoring and Robustness PlaybookWhat to log, which alarms to wire, and when to roll back.Pro19.08QuizCheck what stuck before you move on.Pro
20Anomaly detection and advanced unsupervised8 lessons, 1 free
20.01What Is an Anomaly?What makes a data point anomalous, and why accuracy is the wrong score.Free20.02Isolation Forest and Extended Isolation ForestCatch rare outliers by how few random cuts it takes to isolate them.Pro20.03Local Outlier Factor and One-Class SVMFind outliers hiding in sparse local pockets, and wrap the normal region.Pro20.04Autoencoders for Anomaly DetectionCatch fraud that looks normal on every feature but breaks the usual pattern.Pro20.05Time-Series Anomaly DetectionSpot the day that breaks a series once its rhythm is accounted for.Pro20.06Kernel PCA, Sparse PCA and NMFGo beyond PCA for curved structure, readable components, and additive parts.Pro20.07Self-Supervised and Contrastive LearningLearn a useful representation from unlabeled data so odd points stand out.Pro20.08QuizCheck what stuck before you move on.Pro
21Uncertainty - conformal, calibration and probabilistic prediction8 lessons, 1 free
21.01Prediction Intervals You Can TrustWhy a point prediction needs an honest range you can actually trust.Free21.02Split Conformal PredictionA prediction band whose coverage is guaranteed, whatever shape the errors take.Pro21.03Conformal Prediction for ClassificationWhen the model is unsure, predict a set of classes instead of one guess.Pro21.04Quantile and Distributional RegressionModel an outcome's whole spread, not just its average, for intervals that adapt.Pro21.05Calibration, Reliability and RecalibrationTest whether a predicted probability is honest, and fix it when it is not.Pro21.06The Bootstrap and the Jackknife+Measure uncertainty in any estimate by resampling the data you already have.Pro21.07Reporting Uncertainty HonestlyPick the interval that fits the decision and report it without false precision.Pro21.08QuizCheck what stuck before you move on.Pro