mlcourse.ai README

The project's README from github.com/Yorko/mlcourse.ai. As one markdown file: README.md.

ODS stickers

mlcourse.ai – Open Machine Learning Course

License: CC BY-NC-SA 4.0 Donate Donate

mlcourse.ai is an open Machine Learning course by OpenDataScience (ods.ai), led by Yury Kashnitsky (yorko), now Staff GenAI specialist at Google Cloud. Having both a Ph.D. degree in applied math and a Kaggle Competitions Master tier, Yury aimed at designing an ML course with a perfect balance between theory and practice. Thus, the course meets you with math formulae in lectures, and a lot of practice in the form of assignments and Kaggle Inclass competitions. Currently, the course is in a self-paced mode. Here, we guide you through the self-paced mlcourse.ai.

Bonus assignments

Additionally, you can purchase a Bonus Assignments pack with the best non-demo versions of mlcourse.ai assignments. Select the "Bonus Assignments" tier on Patreon or a similar tier on Boosty (rus).

  

Mirrors: mlcourse.ai (main site), Kaggle Dataset (same notebooks as Kaggle Notebooks), Arabic version

Details of the deal

mlcourse.ai is still in self-paced mode but we offer you Bonus Assignments with solutions for a contribution of $17/month. The idea is that you pay for ~1-5 months while studying the course materials, but a single contribution is still fine and opens your access to the bonus pack.

Note: the first payment is charged at the moment of joining the Tier Patreon, and the next payment is charged on the 1st day of the next month, thus it's better to purchase the pack in the 1st half of the month.

mlcourse.ai is never supposed to go fully monetized (it's created in the wonderful open ODS.ai community and will remain open and free) but it'd help to cover some operational costs, and Yury also put in quite some effort into assembling all the best assignments into one pack. Please note that unlike the rest of the course content, Bonus Assignments are copyrighted. Informally, Yury's fine if you share the pack with 2-3 friends but public sharing of the Bonus Assignments pack is prohibited.


The bonus pack contains 10 assignments, in some of them you are challenged to beat a baseline in a Kaggle competition under thorough guidance ("Alice" and "Medium") or implement an algorithm from scratch -- efficient stochastic gradient descent classifier and gradient boosting.

Self-paced passing

You are guided through 10 weeks of mlcourse.ai. For each week, from Pandas to Gradient Boosting, instructions are given on which articles to read, lectures to watch, and what assignments to accomplish.

Articles

This is the list of published articles on medium.com :uk:, habr.com :ru:. Notebooks in Chinese :cn: are also mentioned, and links to Kaggle Notebooks (in English) are provided. Icons are clickable.

  1. Exploratory Data Analysis with Pandas :uk: :ru: :cn:, Kaggle Notebook
  2. Visual Data Analysis with Python :uk: :ru: :cn:, Kaggle Notebooks: part1, part2
  3. Classification, Decision Trees and k Nearest Neighbors :uk: :ru: :cn:, Kaggle Notebook
  4. Linear Classification and Regression :uk: :ru: :cn:, Kaggle Notebooks: part1, part2, part3, part4, part5
  5. Bagging and Random Forest :uk: :ru: :cn:, Kaggle Notebooks: part1, part2, part3
  6. Feature Engineering and Feature Selection :uk: :ru: :cn:, Kaggle Notebook
  7. Unsupervised Learning: Principal Component Analysis and Clustering :uk: :ru: :cn:, Kaggle Notebook
  8. Vowpal Wabbit: Learning with Gigabytes of Data :uk: :ru: :cn:, Kaggle Notebook
  9. Time Series Analysis with Python, part 1 :uk: :ru: :cn:. Predicting future with Facebook Prophet, part 2 :uk:, :cn: Kaggle Notebooks: part1, part2
  10. Gradient Boosting :uk: :ru:, :cn:, Kaggle Notebook

Lectures

Video lectures are uploaded to this YouTube playlist. Introduction, video, slides

  1. Exploratory data analysis with Pandas, video
  2. Visualization, main plots for EDA, video
  3. Decision trees: theory and practical part
  4. Logistic regression: theoretical foundations, practical part (baselines in the "Alice" competition)
  5. Ensembles and Random Forest – part 1. Classification metrics – part 2. Example of a business task, predicting a customer payment – part 3
  6. Linear regression and regularization - theory, LASSO & Ridge, LTV prediction - practice
  7. Unsupervised learning - Principal Component Analysis and Clustering
  8. Stochastic Gradient Descent for classification and regression - part 1, part 2 TBA
  9. Time series analysis with Python (ARIMA, Prophet) - video
  10. Gradient boosting: basic ideas - part 1, key ideas behind Xgboost, LightGBM, and CatBoost + practice - part 2

Assignments

The following are demo-assignments. Additionally, within the "Bonus Assignments" tier you can get access to non-demo assignments.

  1. Exploratory data analysis with Pandas, nbviewer, Kaggle Notebook, solution
  2. Analyzing cardiovascular disease data, nbviewer, Kaggle Notebook, solution
  3. Decision trees with a toy task and the UCI Adult dataset, nbviewer, Kaggle Notebook, solution
  4. Sarcasm detection, Kaggle Notebook, solution. Linear Regression as an optimization problem, nbviewer, Kaggle Notebook
  5. Logistic Regression and Random Forest in the credit scoring problem, nbviewer, Kaggle Notebook, solution
  6. Exploring OLS, Lasso and Random Forest in a regression task, nbviewer, Kaggle Notebook, solution
  7. Unsupervised learning, nbviewer, Kaggle Notebook, solution
  8. Implementing online regressor, nbviewer, Kaggle Notebook, solution
  9. Time series analysis, nbviewer, Kaggle Notebook, solution
  10. Beating baseline in a competition, Kaggle Notebook

Kaggle competitions

  1. Catch Me If You Can: Intruder Detection through Webpage Session Tracking. Kaggle Inclass
  2. Predicting popularity of a Medium article. Kaggle Inclass
  3. DotA 2 winner prediction. Kaggle Inclass

Building course material as a Jupyter Book

We are using Jupyter Book v1 to build the book.

  1. Install uv for dependency management: pip install uv;
  2. Run uv sync to install project dependencies, or uv lock --upgrade to update them;
  3. Run uv run jb build mlcourse_ai_jupyter_book (note: this works with Jupyter Book v1) – this will take a while, the output is found in the mlcourse_ai_jupyter_book/_build folder. Namely, mlcourse_ai_jupyter_book/_build/html/index.html is what gets rendered at the mlcourse.ai main page.

This will show the path to your local file with the course material, e.g. file:///Users/nickname/Documents/mlcourse.ai/mlcourse_ai_jupyter_book/_build/html/index.html. You can open it in your browser to see the course material locally.

Citing mlcourse.ai

If you happen to cite mlcourse.ai in your work, you can use this BibTeX record:

@misc{mlcourse_ai,
    author = {Kashnitsky, Yury},
    title = {mlcourse.ai – Open Machine Learning Course},
    year = {2020},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/Yorko/mlcourse.ai}},
}

mlcourse.ai (Yorko/mlcourse.ai)

Searching Database…

这是什么?这是由 OpenDataScience(ods.ai)社区开设、Yury Kashnitsky 主讲的开源机器学习课程:为期 10 周,数学味很浓的课程与动手作业、Kaggle Inclass 比赛相结合,现在可按自己的节奏自学。
它是看视频、读文章,还是我自己动手写代码?三者都有:每周配有一篇文字文章、一个 YouTube 视频讲座,以及一份 Jupyter notebook 动手作业;大部分 notebook 在 Kaggle 上也有镜像。
这门课怎么上——有直播课或者截止日期吗?没有直播班——完全自学。课程提供 10 份每周指南,明确告诉你该读哪些文章、看哪些讲座、做哪些作业,进度由你自己掌控。
做作业需要安装哪些东西?Python 和 Jupyter notebook。技术栈是 pandas、numpy、matplotlib/seaborn/plotly、scikit-learn 和 scipy;第 8 周会引入 Vowpal Wabbit,用来学习 GB 级别的数据。
整门课是免费的吗,还是有部分要付费?课程核心内容免费,作者也承诺会一直免费;唯一收费的是可选的 Bonus Assignments 习题包——10 份非演示作业(附答案),在 Patreon 或 Boosty 上每月 17 美元。
我数学基础不好能跟得上吗?请做好学数学的准备:讲座中会涉及公式,课程也有意通过作业和 Kaggle 比赛在理论与实践之间取得平衡。作者拥有应用数学博士学位,还是 Kaggle Competitions Master。
我在哪里访问课程、在哪里做练习?它是一个网站 mlcourse.ai,讲座放在 YouTube 上;作业在 Jupyter notebook 里完成,可以在本地运行,也可以在浏览器里用 Kaggle Notebooks。
我可以离线阅读课程内容吗?可以——课程是以 Jupyter Book 形式构建的:运行 pip install uv,然后 uv sync,再 uv run jb build mlcourseaijupyterbook(Jupyter Book v1),整个网站就会渲染输出到 mlcourseaijupyterbook/build/html/index.html。
这些内容是开源许可吗?该仓库没有采用标准的开源许可证(GitHub 标记为 NOASSERTION)。课程可以免费学习,但 Bonus Assignments 习题包受版权保护,禁止公开分享。
这门课每周具体讲什么?Pandas 探索性数据分析、数据可视化、决策树和 k 近邻、线性模型、bagging 与随机森林、特征工程、PCA 与聚类、Vowpal Wabbit、时间序列(ARIMA、Prophet),以及基于 XGBoost/LightGBM/CatBoost 的梯度提升。
有机会参加比赛吗,还是全是跟着教程做练习?有真实比赛:课程会在 Kaggle 上举办 Inclass 竞赛,比如 Catch Me If You Can(根据网页访问记录检测入侵者)、Medium 文章热度预测和 DotA 2 胜负预测。
付费的 Bonus Assignments 习题包里有什么?最好的 10 份非演示作业(附答案):你要么在引导式的 Kaggle 竞赛('Alice'、'Medium')中击败基线,要么从零实现算法——一个高效的 SGD 分类器和梯度提升。支付一个月的费用即可解锁。
课程内容有其他语言版本吗?有——文章在 Habr 上还有俄语版,notebook 有中文版,还有一个阿拉伯语镜像版本;Kaggle Notebook 上的版本是英文的。
Creator
Yorko
Size
652.6 MB
Stars
10.8K
Age
9y
Commits · 90 Days