Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zotroneneis/machine_learning_basics

Plain python implementations of basic machine learning algorithms
https://github.com/zotroneneis/machine_learning_basics

algorithm ipynb k-nearest-neighbor k-nearest-neighbours k-nn kmeans linear-regression logistic-regression machine-learning machine-learning-algorithms neural-network neural-networks perceptron python python-implementations python3

Last synced: 4 days ago
JSON representation

Plain python implementations of basic machine learning algorithms

Awesome Lists containing this project

README

        

# Machine learning basics

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.

- [Bayesian Linear Regression](bayesian_linear_regression.ipynb)
- [Decision tree for classification](decision_tree_classification.ipynb)
- [Decision tree for regression](decision_tree_regression.ipynb)
- [k-nearest-neighbor](k_nearest_neighbour.ipynb)
- [k-Means clustering](kmeans.ipynb)
- [Linear Regression](linear_regression.ipynb)
- [Logistic Regression](logistic_regression.ipynb)
- [Multinomial Logistic Regression](softmax_regression.ipynb)
- [Perceptron](perceptron.ipynb)
- [Principal Component Analysis]([principal_component_analysis.ipynb)
- [Simple neural network with one hidden layer](simple_neural_net.ipynb)
- [Softmax regression](softmax_regression.ipynb)
- [Support vector machines](support_vector_machines.ipynb)


![alt text](figures/decision_tree_predictions.png)

## Data preprocessing

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.

- [Image preprocessing](image_preprocessing.ipynb)
- [Preprocessing a numerical/categorical dataset](data_preprocessing.ipynb)

![alt text](figures/image_preprocessing.png)

## Live demo
Run the notebooks online without having to clone the repository or install jupyter: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/zotroneneis/machine_learning_basics/HEAD).

Note: this does not work for the `data_preprocessing.ipynb` and `image_preprocessing.ipynb` notebooks because they require downloading a dataset first.

## Feedback

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.

## License

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