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)

Searching Database…

Что это такое?Набор минималистичных и понятных реализаций основных алгоритмов машинного обучения на Python, созданный для того, чтобы можно было изучить, как эти алгоритмы работают внутри.
Это фреймворк, на котором строят приложения, или просто справочный код?Это библиотека справочного кода, а не промышленный фреймворк: каждый алгоритм написан с нуля ради читаемости, а не производительности, чтобы можно было проследить логику, не разбираясь во внутреннем устройстве оптимизированных библиотек.
Как запустить примеры?Примеры можно запустить напрямую, без установки пакета, или внутри контейнера Docker.
Что нужно для запуска?Только Python с numpy, scipy и autograd для реализаций.
Можно ли использовать эти реализации в реальном продакшен-проекте?Нет. Этот проект явно предназначен для изучения внутреннего устройства алгоритмов или их реализации с нуля, а не для производительности и надёжности production-уровня.
Какие алгоритмы включены?Модели глубокого обучения (MLP, CNN, RNN, LSTM), линейная и логистическая регрессия, случайные леса, SVM с линейным, полиномиальным и RBF-ядрами, k-means, модель гауссовых смесей (Gaussian Mixture Model), метод k-ближайших соседей, наивный байесовский классификатор, PCA, машины факторизации, RBM, t-SNE, градиентный бустинг над деревьями и глубокое Q-обучение для обучения с подкреплением.
Почему бы не использовать scikit-learn или фреймворк глубокого обучения?Эти библиотеки оптимизированы по скорости и прячут математику за скомпилированным кодом, а этот проект жертвует производительностью ради ясности, чтобы каждый алгоритм можно было прочитать, изменить и по-настоящему понять.
Creator
rushter
Size
11.7 MB
Stars
11.2K
Updated
CommitSep 29
Age
10y
Commits · 90 Days