Machine Learning Basics

I started this project when preparing for interviews and applying for different internships and residency programs.

The project includes implementations of basic machine learning algorithms in plain Python (Python Version 3.6+). All algorithms are implemented from scratch without using additional machine learning libraries. The intention of the notebooks is to provide a basic understanding of the algorithms and their underlying structure. Therefore, each notebook also includes theoretical explanations about the algorithms and the most important formulas.

After receiving a lot of positive feedback on reddit (click for post1, click for post2) and requests for a series on data preprocessing, I started notebooks on how to prepare datasets for machine learning algorithms. The notebooks are included in the same github repoistory.

The full project description and code can be found on my GitHub page.

Currently, the repo includes the following algorithms:

  • Linear Regression
  • Logistic Regression
  • Perceptron
  • k-nearest-neighbor
  • k-Means clustering
  • Simple neural network with one hidden layer
  • Multinomial Logistic Regression
  • Decision tree for classification
  • Decision tree for regression

And the following notebooks on data preprocessing:

  • Image preprocessing
  • Preprocessing a numerical/categorical dataset