MLAlgorithms README

The project's README from github.com/rushter/MLAlgorithms. As one markdown file: README.md.

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:

Installation

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

How to run examples without installation

        cd MLAlgorithms
        python -m examples.linear_models

How to run examples within Docker

        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.

MLAlgorithms (rushter/MLAlgorithms)

gradient-boosting
Searching Database…

What is this?A collection of minimal, clean Python implementations of core machine learning algorithms, built so people can learn how the algorithms actually work internally.
Is this a framework I build apps with, or just reference code?It is a reference-code library, not a production framework: each algorithm is written from scratch for readability, not performance, so you can follow the logic instead of digging through optimized library internals.
How do I run the examples?You can run the examples directly without installing the package, or run them inside a Docker container.
What do I need to run it?Just Python, with numpy, scipy and autograd for the implementations.
Can I use these implementations in a real production project?No - this project is explicitly meant for learning algorithm internals or re-implementing them from scratch, not for production-grade performance or reliability.
What algorithms are included?Deep learning models (MLP, CNN, RNN, LSTM), linear and logistic regression, random forests, SVM with linear/poly/RBF kernels, k-means, Gaussian Mixture Model, k-nearest neighbors, naive bayes, PCA, factorization machines, RBM, t-SNE, gradient boosting trees, and deep Q-learning for reinforcement learning.
Why not just use scikit-learn or a deep learning framework instead?Those libraries are optimized for speed and hide the math behind compiled code, while this project trades performance for clarity so you can read, tweak, and actually understand each algorithm.
Creator
rushter
Size
11.7 MB
Stars
11.2K
Updated
CommitSep 29
Age
10y
Commits · 90 Days