A comprehensive collection of machine learning algorithms implemented from scratch in Python for educational purposes. This repository aims to provide clear, well-documented implementations to help understand the inner workings of fundamental ML algorithms.
This project serves multiple purposes:
- Deep understanding of machine learning algorithms by implementing them from first principles
- Educational resource for others learning ML
- Reference implementation for common ML algorithms
- Practice ground for Python programming and ML concepts
Each implementation includes:
- Detailed mathematical explanations
- Step-by-step implementation walkthrough
- Example usage and test cases
- Performance comparisons with sklearn implementations
- Linear Regression
- Logistic Regression
- Decision Trees
- Random Forest
- Support Vector Machines
- Ridge Regression
- Lasso Regression
- K-Nearest Neighbors
- Naive Bayes
- XGBoost
- Multi-layer Perceptron Regressor
- Multi-layer Perceptron Classifier
- Elastic Net Regression
- K-Means Clustering
- Hierarchical Clustering
- DBSCAN
- Principal Component Analysis
- t-SNE
- Convolutional Neural Networks (basic convolution operations, pooling layers and LeNet-5)
- Recurrent Neural Networks (basic RNN, LSTM)
- Transformers
- Autoencoders
- Variational Autoencoders
- Graph Neural Networks
This repository is actively maintained and updated. Star the repository to stay updated with new implementations!