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.
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
$ git clone https://github.com/siAyush/ScratchML.git
$ cd ScratchML
$ python3 setup.py install
$ 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
$ python3 scratch_ml/demo/linear_regression.py
$ python3 scratch_ml/demo/gradient_boosting_classifier.py
$ python3 scratch_ml/demo/neural_network.py
$ python3 scratch_ml/demo/convolutional_neural_network.py