mlcourse.ai
Open Machine Learning Course
A free, self-paced machine learning course covering the full practical ML curriculum via articles and Jupyter notebooks, with in-class Kaggle competitions to apply what you learn.
mlcourse.ai is a free, open machine learning course produced by the OpenDataScience community. It was created by Yury Kashnitsky, who holds a Ph.D. in applied mathematics and has reached the Kaggle Competitions Master tier. The course is structured as 10 weeks of material and is currently available in self-paced mode, meaning you work through it at your own speed without fixed deadlines.
The curriculum covers the main areas of practical machine learning: exploratory data analysis with Pandas, data visualization, classification with decision trees and nearest neighbors, linear models for classification and regression, ensemble methods like random forests and gradient boosting, feature engineering, dimensionality reduction with PCA, clustering, time series analysis, and neural networks. Each topic comes with a written article and a Jupyter notebook with exercises. Articles are available in English and Russian, and translated notebooks in Chinese are also linked.
Assignments are part of the course experience. Several of the topics include in-class Kaggle competitions where you apply what you learned to a real prediction problem and compete against other students. The course emphasizes both the mathematical foundations and hands-on practice, with the goal of giving students a working understanding rather than just a surface-level introduction.
There is an optional Bonus Assignments pack available for a monthly contribution of $17 through Patreon. These are extended, non-demo versions of certain assignments, including challenges to beat a Kaggle baseline and tasks to implement algorithms like stochastic gradient descent and gradient boosting from scratch. Unlike the main course, the bonus pack is copyrighted.
The course content is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0, making it free to use and share for non-commercial purposes. The repository contains the Jupyter notebooks, course materials, and the configuration for building the course website.
Where it fits
- Work through a structured 10-week ML curriculum with hands-on Kaggle competitions to build practical skills.
- Study Jupyter notebooks covering decision trees, gradient boosting, PCA, and time series with real datasets.
- Adapt the course materials to teach or self-study machine learning concepts in English, Russian, or Chinese.
- Implement algorithms like stochastic gradient descent and gradient boosting from scratch using the bonus assignments.