/ML-algorithms-from-scratch.-Course-for-beginners

ML-algorithms from scratch using Python. Classic Machine Learning course.

Primary LanguageJupyter NotebookOtherNOASSERTION

ML from scratch course logo

CC BY-NC-SA 4.0

This repository contains implementations of all popular ML-algorithms from scratch using Python with their detailed theoretical description. In addition, this course is presented in two languages (eng, rus) in the form of jupyter notebooks and will feature tutorials on the necessary ML-libraries and also all the theory of concepts in ML, starting from methods of evaluating models and ending with optimization methods.

🔔This course is also available on other platforms: Habr (rus) and Kaggle (eng)

What you need to know before studying

  • python (at the function and OOP level);
  • mathematics (linear algebra, calculus, probability theory and statistics).

Current content

At the moment, the course is under development and new notebooks will be gradually added

Initial theory

  • 8) Quality metrics and error analysis
  • 9) Optimization methods in ML and DL

Supervised learning

  • 1) Linear regression and its modifications
  • 2) Logistic & Softmax-regressions
  • 3) Linear Discriminant Analysis (LDA)
  • 4) Naive Bayes Classifier
  • 5) Support Vector Machines (SVM)
  • 6) K-Nearest Neighbors (KNN)
  • 7) Decision Tree (CART)
  • 8) Bagging & Random Forest
  • 9) AdaBoost (SAMME & R2)
  • 10) Gradient Boosting algorithms (XGBoost, CatBoost, LightGBM)
  • 11) Stacking & Blending

Unsupervised learning

  • 12) Principal Component Analysis (PCA)
  • 13) Popular clustering algorithms (K-Means, DBSCAN et al.)

Best additional sources

Books

  • "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" (3rd edition) by Aurélien Géron
  • "An Introduction to Statistical Learning: with Applications in R" (2nd edition) by Gareth James et al.
  • "The Elements of Statistical Learning: Data Mining, Inference, and Prediction" (2nd edition) by Trevor Hastie et al.
  • "Pattern Recognition and Machine Learning" by Christopher M. Bishop
  • "Deep Learning" by Ian Goodfellow et al.

Courses and playlists

All success and until we meet again!🏆