Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/zotroneneis/machine_learning_basics
- Owner: zotroneneis
- License: mit
- Created: 2018-02-19T09:55:58.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-27T11:21:33.000Z (6 months ago)
- Last Synced: 2024-12-03T09:07:29.118Z (11 days ago)
- Topics: 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
- Language: Jupyter Notebook
- Size: 10.8 MB
- Stars: 4,321
- Watchers: 164
- Forks: 835
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Support: support_vector_machines.ipynb
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).