Machine Learning
From your first model to real-world ML.
A beginner-friendly route through classic machine learning with Python and Scikit-learn. Each part builds a working project using real data, covering regression, classification, clustering, language, time series and reinforcement learning.
4 stages, one step at a time
Each stage builds on the one before it. Go in order the first time, then jump around when you need a refresher.
- 01
Foundations
What machine learning is, then your first models and how to serve them.
9 lessons · 1.5 hrsJump to stage → - 02
Core techniques
Sorting data into known categories, and finding groups you did not know about.
6 lessons · 49 minJump to stage → - 03
Specialized topics
Working with language, data over time, and agents that learn from rewards.
10 lessons · 1.9 hrsJump to stage → - 04
In practice
How machine learning is used and debugged outside the classroom.
2 lessons · 20 minJump to stage →
9 parts · 27 lessons
Open a part to see its lessons. Completed lessons are ticked off as you go.
Stage 1 Foundations
01IntroductionCore concepts, the history of the field, responsible AI and the ML workflow.
- 01Introduction to machine learningWhat machine learning is, how it relates to AI, and how to set up your tools to study it.
- 02History of machine learningThe milestones behind modern machine learning, from early statistics to today.
- 03Building Machine Learning solutions with responsible AIThe principles of responsible AI, and how bias and unfairness get into models.
- 04Techniques of Machine LearningThe ML workflow: asking a question, preparing data, training, evaluating and tuning.
02RegressionPrepare data, then build linear, polynomial and logistic regression models.
- 01Get started with Python and Scikit-learn for regression modelsSet up Python, notebooks and Scikit-learn, then fit your first regression model.
- 02Build a regression model using Scikit-learn: prepare and visualize dataClean a pumpkin pricing dataset and explore it with charts before modelling.
- 03Build a regression model using Scikit-learn: regression four waysBuild linear and polynomial regression models and compare how well they predict.
- 04Logistic regression to predict categoriesUse logistic regression to predict categories, and read a confusion matrix and ROC curve.
03Web AppSave a trained model and serve its predictions from a small web app.
Stage 2 Core techniques
04ClassificationClean a cuisines dataset, compare classifiers and build a recommender.
- 01Introduction to classificationPrepare and balance a cuisines dataset for classification.
- 02Cuisine classifiers 1Choose a classifier with the Scikit-learn cheat sheet and train a logistic regression model.
- 03Cuisine classifiers 2Compare SVC, KNN, ensemble and other classifiers on the same data.
- 04Build a Cuisine Recommender Web AppExport a classifier to ONNX and use it in a cuisine recommender web app.
05ClusteringExplore music data and group it with K-Means.
Stage 3 Specialized topics
06Natural Language ProcessingLanguage tasks, translation and sentiment analysis, ending with hotel reviews.
- 01Introduction to natural language processingWhat natural language processing is, why language is hard, and how to build a simple bot.
- 02Common natural language processing tasks and techniquesCommon NLP tasks such as tokenization, parsing, n-grams and part-of-speech tagging.
- 03Translation and sentiment analysis with MLHow translation and sentiment analysis work, using classic literature as the data.
- 04Sentiment analysis with hotel reviews - processing the dataExplore and clean a large hotel reviews dataset with Pandas.
- 05Sentiment analysis with hotel reviewsFilter review tags, remove stop words and run sentiment analysis on the hotel data.
07Time SeriesForecast electricity usage with ARIMA and support vector regression.
- 01Introduction to time series forecastingThe concepts behind time series forecasting, with electricity usage as the example.
- 02Time series forecasting with ARIMAForecast future electricity usage with an ARIMA model.
- 03Time Series Forecasting with Support Vector RegressorForecast the same data with a Support Vector Regressor and compare the results.
08Reinforcement LearningTeach agents with Q-learning, then balance a pole in Gym.
Stage 4 In practice
09Machine Learning in the Real WorldReal-world applications of ML, and how to debug models responsibly.
BeginnerIntermediateAdvanced
Read, explain, revisit
Read in order first
Lessons list their prerequisites at the top. The stages are ordered so you rarely meet a term before it's explained.
Write it in your own words
Summarizing the idea and its trade-offs is the quickest way to find what you haven't understood yet.
Come back to the diagrams
When revising, skim the diagrams and tables before re-reading. If you can explain each one, you know the lesson.
The lessons in this course are adapted from ML For Beginners by Microsoft and contributors, licensed under the MIT License. The course structure, stage groupings and summaries on this page were written for Engineering Path. Credits & license.