ScratchML
ScratchML copied to clipboard
Implementations of the Machine Learning models and algorithms from scratch using NumPy only.
About
Implementations of the Machine Learning models and algorithms from scratch using NumPy only. The purpose of this project is to learn the internal working of algorithms not to produce optimized algorithms.
Implementations
Supervised Learning
- Adaboost
- Decision Tree
- Elastic Net
- Gradient Boosting
- K Nearest Neighbors
- Lasso Regression
- Linear Discriminant Analysis
- Linear Regression
- Logistic Regression
- Naive Bayes
- Random Forest
- Ridge Regression
- Support Vector Machine
- XGBoost
Unsupervised Learning
Deep Learning
-
- Activation Layer
- Average Pooling Layer
- Batch Normalization Layer
- Constant Padding Layer
- Convolutional Layer
- Dropout Layer
- Flatten Layer
- Fully-Connected Layer
- Max Pooling Layer
- Reshape Layer
- RNN Layer
- Up Sampling Layer
- Zero Padding Layer
-
Models
Installation
$ git clone https://github.com/siAyush/ScratchML.git
$ cd ScratchML
$ python3 setup.py install
Run Examples
$ python3 scratch_ml/demo/{filename}.py
Note : "filename" is replaced by the file you want to run.
Example:
$ python3 scratch_ml/demo/k_nearest_neighbor.py
Examples
Linear Regression
$ python3 scratch_ml/demo/linear_regression.py

Gradient Boosting Classifier
$ python3 scratch_ml/demo/gradient_boosting_classifier.py

Neural Network
$ python3 scratch_ml/demo/neural_network.py



Convolutional Neural Network
$ python3 scratch_ml/demo/convolutional_neural_network.py

