Courses / MLNG

Python · Undergraduate, after Computational Foundations for AI

Learning ML through Project

Build, evaluate and deploy a real ML system, from day one. 25 topics that open up a working placement-prediction service, one layer at a time: linear models, tree ensembles, clustering, honest evaluation and ML engineering. Programs run on the page, and every topic has a self-marking quiz.

  • 25topics
  • 200quiz questions
  • 6CO tests
  • 25programs that run on the page

The 25 topics

Course overview

Start with a working system. Then find out how every part of it works.

This course is taught outside-in. On day one, you use PlacementPredict, a running service that estimates a student's chance of placement from academic and co-curricular data. Over the term, you open it up, layer by layer, until you can build, evaluate, deploy and monitor such a system yourself.

About the data. All the programs use the course dataset, placement_predict_50k, with 50,000 student records and 32 columns. You can download the CSV file, which comes from this GitHub repository. A small helper file loads it for each program. To keep pages quick, most programs use a random sample of 5,000 rows. Use load_data(n=None) for all of them. The helper leaves out Gender and City on purpose, because a placement estimate shouldn't depend on them.

Most programs run right on the page. A few tools, such as FastAPI, ONNX and MLflow, can't run in a browser. Those programs are marked for use on your own computer.

Course outcomes

CO You will be able to Level
CO1 Analyse the end-to-end ML system lifecycle, and trace one prediction request back through every preceding stage. Analyse
CO2 Apply linear regression, ridge, lasso, elastic net, and logistic and multinomial logistic regression, and reason about regularisation, the bias-variance trade-off and feature scaling. Apply
CO3 Apply decision trees, random forests and gradient-boosted trees (XGBoost, LightGBM), and reason about feature importance, splitting criteria and ensemble variance reduction. Apply
CO4 Apply k-means, hierarchical clustering, DBSCAN, dimensionality reduction (PCA, t-SNE, UMAP) and anomaly detection, to discover structure in unlabelled data. Apply
CO5 Analyse model performance using cross-validation, train/validation/test splits, classification and regression metrics, calibration and hyperparameter search. Analyse
CO6 Apply ML-engineering practices (feature stores, skew avoidance, model packaging, REST serving, and monitoring for drift) to deploy a production-style ML system. Apply

Syllabus

Textbooks

Topic pages refer to these books by number.

  1. Textbook 1: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd edition, O'Reilly, 2022.
  2. Textbook 2: The Elements of Statistical Learning.
  3. Textbook 3: An Introduction to Statistical Learning, with Applications in Python.

Reference books:

  1. Pattern Recognition and Machine Learning, Springer, 2006.
  2. Designing Machine Learning Systems.
  3. Building Machine Learning Powered Applications, O'Reilly, 2020.
  4. Machine Learning Engineering, True Positive Inc., 2020.

Free online courses