rushter /MLAlgorithms

Minimal and clean examples of machine learning algorithms implementations

★ 11,183⑂ 1,765
PythonCreated 2016-10-05
11,183
stars
+2+1+4
1,765
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

Machine learning algorithms
A collection of minimal and clean implementations of machine learning algorithms.

 Why?
This project is targeting people who want to learn internals of ml algorithms or implement them from scratch.  
The code is much easier to follow than the optimized libraries and easier to play with.  
All algorithms are implemented in Python, using numpy, scipy and autograd.  

 Implemented:
 Deep learning (MLP, CNN, RNN, LSTM)
 Linear regression, logistic regression
 Random Forests
 Support vector machine (SVM) with kernels (Linear, Poly, RBF)
 K-Means
 Gaussian Mixture Model
 K-nearest neighbors
 Naive bayes
 Principal component analysis (PCA)
 Factorization machines
 Restricted Boltzmann machine (RBM)
 t-Distributed Stochastic Neighbor Embedding (t-SNE)
 Gradient Boosting trees (also known as GBDT, GBRT, GBM, XGBoost)
 Reinforcement learning (Deep Q learning)


 Installation
sh
        git clone https://github.com/rushter/MLAlgorithms
        cd MLAlgorithms
        pip install scipy numpy
        python setup.py develop

 How to run examples without installation
sh
        cd MLAlgorithms
        python -m examples.linear_models

 How to run examples within Docker
sh
        cd MLAlgorithms
        docker build -t mlalgorithms .
        docker run --rm -it mlalgorithms bash
        python -m examples.linear_models

 Contributing

Your contributions are always welcome!  
Feel free to improve existing code, documentation or implement new algorithm.  
Please open an issue to propose your changes if they are big enough.

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON