A collection of Machine Learning algorithms implemented from scratch using Python and NumPy.
The goal of this repository is to build a deep understanding of how machine learning algorithms work internally by implementing them without relying on high-level ML libraries such as Scikit-Learn.
- Understand the mathematics behind machine learning algorithms.
- Learn optimization techniques such as Gradient Descent.
- Build intuition for model training and parameter updates.
- Create a strong foundation for advanced Machine Learning and AI Systems.
- Linear Regression
- Multiple Linear Regression
- Polynomial Regression
- Ordinary Least Squares (OLS)
- Ridge Regression
- Simple Ridge Regression
- Ridge Regression using Gradient Descent
- Lasso Regression
- Elastic Net Regression
- Lasso + Elastic Net Regression
- Logistic Regression
- Perceptron
- K-Nearest Neighbors (KNN)
- Linear Support Vector Machine (Linear SVM)
- Sigmoid Function Implementation
- Decision Tree Classifier
- Random forest classifier
- Simple Gradient Descent
- Batch Gradient Descent
- Stochastic Gradient Descent (SGD)
- Mini-Batch Gradient Descent
- Cost Functions
- Loss Functions
- Gradient Descent
- Regularization
- Feature Scaling
- Distance Metrics
- Decision Boundaries
- Margin Maximization
- Optimization Techniques
- Python
- NumPy
- Pandas
- Matplotlib
- Jupyter Notebook / Python Scripts
I am the kind of person who enjoys understanding what happens underneath the layers rather than only using frameworks and libraries.
This repository focuses on:
- Mathematical intuition
- Algorithm implementation
- Optimization techniques
- Learning by building
- Understanding models from first principles
Every implementation is written from scratch to strengthen core Machine Learning fundamentals.
Suggestions, improvements, and discussions are welcome.
If you find a bug or have an idea for improvement, feel free to open an issue or submit a pull request.
If you found this repository useful, consider giving it a star.
It helps others discover the project and motivates future development.
This project is open-source and available under the MIT License.
This project is open-source and available under the MIT License.