Welcome to the Machine Learning Algorithms from Scratch repository! This project is aimed at implementing various machine learning algorithms from the ground up, without relying on high-level libraries like Scikit-learn, TensorFlow, or PyTorch. The goal is to gain a deeper understanding of the underlying mathematics, logic, and mechanics of these algorithms.
This repository contains Python implementations of popular machine learning algorithms, written entirely from scratch. Each algorithm is implemented with a focus on clarity, simplicity, and educational value. The code is well-documented, and mathematical explanations are provided where necessary.
This project is ideal for:
- Students learning machine learning.
- Developers looking to understand the inner workings of ML algorithms.
- Anyone interested in implementing ML algorithms without relying on pre-built libraries.
Here is a list of the algorithms currently being implemented in this repository:
- Linear Regression
- Logistic Regression
- Decision Trees
- Random Forest
- Support Vector Machines (SVM)
- k-Nearest Neighbors (k-NN)
- Naive Bayes
- Gradient Boosting (XGBoost, LightGBM)
- K-Means Clustering
- Hierarchical Clustering
- Principal Component Analysis (PCA)
- Gaussian Mixture Models (GMM)
- t-SNE (t-Distributed Stochastic Neighbor Embedding)
- Perceptron
- Multi-Layer Perceptron (MLP)
- Convolutional Neural Networks (CNN)
- Recurrent Neural Networks (RNN)
- Gradient Descent
- Stochastic Gradient Descent (SGD)
- Adam Optimizer
- Genetic Algorithms
- This project is inspired by the book "Machine Learning from Scratch" by Danny Friedman.