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) под руководством Юрия Кашницкого: 10 недель, где лекции с серьёзной математикой сочетаются с практическими заданиями и соревнованиями Kaggle Inclass; сейчас курс проходится в свободном темпе.
Это что-то, что я смотрю, читаю или делаю руками сам?И то, и другое, и третье: каждую неделю выходит письменная статья, видеолекция на YouTube и практическое задание в виде Jupyter-ноутбука; большинство ноутбуков продублированы на Kaggle.
Как проходить курс — есть ли живые занятия или дедлайны?Живого потока нет — всё в свободном темпе. Вы следуете 10 недельным гайдам, где точно сказано, какие статьи читать, какие лекции смотреть и какое задание делать, — и двигаетесь с комфортной скоростью.
Что должно быть установлено, чтобы делать задания?Python и Jupyter-ноутбуки. Стек: pandas, numpy, matplotlib/seaborn/plotly, scikit-learn и scipy; на 8-й неделе добавляется Vowpal Wabbit для обучения на данных гигабайтного масштаба.
Курс полностью бесплатный или часть платная?Сам курс бесплатный, и автор обещает, что так и останется; единственная платная часть — необязательный набор Bonus Assignments: 10 недемо-заданий с решениями за $17 в месяц на Patreon или Boosty.
Нужно ли хорошо знать математику, чтобы не отставать?Готовьтесь к математике: в лекциях есть формулы, а курс сознательно балансирует теорию и практику через задания и соревнования Kaggle. У автора степень Ph.D. по прикладной математике и статус Kaggle Competitions Master.
Где проходить курс и выполнять работу?Это сайт mlcourse.ai с лекциями на YouTube; задания выполняются в Jupyter-ноутбуках — локально или в браузере через Kaggle Notebooks.
Можно ли читать материалы офлайн?Да — курс собран как Jupyter Book: pip install uv, затем uv sync и uv run jb build mlcourseaijupyterbook (Jupyter Book v1), и весь сайт соберётся в mlcourseaijupyterbook/build/html/index.html.
Материалы под открытой лицензией?В репозитории нет стандартной open-source-лицензии (GitHub помечает его как NOASSERTION). Учиться по курсу можно свободно, но набор Bonus Assignments защищён авторским правом, и его публичное распространение запрещено.
Что именно проходит курс по неделям?EDA на pandas, визуализация, деревья решений и k-NN, линейные модели, бэггинг и случайный лес, работа с признаками, 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-классификатор и градиентный бустинг. Одна оплата за месяц открывает доступ.
Есть ли материалы на других языках?Да — статьи также выходят на русском на Хабре, есть ноутбуки на китайском и зеркальная версия на арабском; версии для Kaggle Notebook — на английском.
Creator
Yorko
Size
652.6 MB
Stars
10.8K
Age
9y
Commits · 90 Days