This repository contains 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 these notebooks is to provide a basic understanding of the algorithms and their underlying structure, *not* to provide the most efficient implementations.

- Linear Regression
- Bayesian 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
- Support vector machines

After several requests I started preparing notebooks on how to preprocess datasets for machine learning. Within the next months I will add one notebook for each kind of dataset (text, images, ...). As before, the intention of these notebooks is to provide a basic understanding of the preprocessing steps, *not* to provide the most efficient implementations.

Run the notebooks online without having to clone the repository or install jupyter: .

Note: this does not work for the `data_preprocessing.ipynb`

and `image_preprocessing.ipynb`

notebooks because they require downloading a dataset first.

If you have a favorite algorithm that should be included or spot a mistake in one of the notebooks, please let me know by creating a new issue.

See the LICENSE file for license rights and limitations (MIT).

Get A Weekly Email With Trending Projects For These Topics

No Spam. Unsubscribe easily at any time.

python (53,503)

jupyter-notebook (6,181)

machine-learning (3,580)

python3 (1,606)

neural-network (736)

algorithm (500)

neural-networks (432)

machine-learning-algorithms (168)

logistic-regression (53)

linear-regression (46)

kmeans (19)

ipynb (17)