https://github.com/pointer2alvee/machine-learning-algorithms-scratch
Core Machine Learning concepts , algorithms & maths implemented completely from scratch using Python & numpy only.
https://github.com/pointer2alvee/machine-learning-algorithms-scratch
machine-learning-algorithms numpy pandas probabilistic-machine-learning python statistical-models
Last synced: 5 months ago
JSON representation
Core Machine Learning concepts , algorithms & maths implemented completely from scratch using Python & numpy only.
- Host: GitHub
- URL: https://github.com/pointer2alvee/machine-learning-algorithms-scratch
- Owner: pointer2Alvee
- Created: 2025-03-06T08:59:40.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-05-06T03:14:50.000Z (9 months ago)
- Last Synced: 2025-06-19T00:05:22.952Z (8 months ago)
- Topics: machine-learning-algorithms, numpy, pandas, probabilistic-machine-learning, python, statistical-models
- Language: Jupyter Notebook
- Homepage:
- Size: 646 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## π machine-learning-algorithms-scratch
#### π§ Overview
Comprehensive Machine Learning concepts & algorithms implemented from scratch using Python & numpy only.
This repository is a collection of core machine learning algorithms built without any external ML libraries like Scikit-learn or TensorFlow. The goal is to gain a deep understanding of how these algorithms work under the hood β mathematically and programmatically.
#### π― Use Cases
- Implementing ML algorithms/models from scratch
- Learning the mathematical mehanism behind ML algorithms
- Learning the foundations of machine learning
- Teaching aid for ML courses
- Interview preparation
#### π’ Project Status
- Current Version: V1.0
#### π Repository Structure
```
machine-learning-algorithms-scratch/
βββ assets/
β βββ images/
βββ datasets/
β βββ various datasets
β βββ in (.csv/.json/.xlsx) format files
βββ supervised/
β βββ classification
β β βββ decision-tree
β β βββ knn
β β βββ logistic-regression
β β βββ naive-bayes
β β βββ random-forest
β β βββ svm
β βββ regression/
β β βββ decision-tree
β β βββ linear-regression
β β βββ random-forest
βββ unsupervised/
β β βββ clustering
β β β βββ kmc
β β βββ dimensionality-reduction
β β β βββ pca
β β β βββ lda
β β βββ association-rule-learning
β β βββ anomaly-detection
βββ semi-supervised
βββ README
βββ .gitignore # gitignore file
```
### β¨ Features
- Covers supervised, unsupervised and semi-supervised ML algorithms
- Pure Python and NumPy β no ML libraries
- Modular, clean, and reusable code
- Educational and beginner-friendly
### π Getting Started
- Knowledge Required : python, linear algebra, probability, statistics, numpy, matplotlib
##### π» Software Requirements
- IDE (VS Code) or jupyter notebook or google colab
- Python 3
#### π‘οΈ Tech Stack
- Python π»
- Numpy, Pandas, Matplotlib, Scikit-Learnπ§©
#### βοΈ Installation
```
git clone https://github.com/yourusername/machine-learning-algorithms-scratch.git
cd ml-algorithms-scratch
```
#### π Usage
- Open .ipynb files inside each algorithm directory and run them to see training/inference steps, plots, and results.
### π§ͺ Algorithms Implemented
- β
Supervised-Classification :- Logistic-Regression, SVM, KNN, Naive-Bayes, Decision-Tree, Random-Forest
- β
Supervised-Regression :- LR, MLR, Decision-Tree, Random-Forest
- β
Unsupervised-Clustering :- KMC
- β
Unsupervised-DimenReduction :- PCA
- β³ Upcoming : LDA, Adaboost, SVM (SVR & non-linear SVM, kernel-trick), GBM, Neural-Network from scratch, Perceptron
### π§ Roadmap
- [x] Implement raw ML algorithms from scratch
- [ ] Re-implement ML algorithms using tensorflow
- [ ] Re-implement ML algorithms using scikit-learn
- [ ] Re-implement ML algorithms using pyTorch
### π€ Contributing
Contributions are welcomed!
1. Fork the repo.
2. Create a branch: ```git checkout -b feature/YourFeature```
3. Commit changes: ```git commit -m 'Add some feature'```
4. Push to branch: ```git push origin feature/YourFeature```
5. Open a Pull Request.
### πLicense
Distributed under the MIT License. See LICENSE.txt for more information.
### πAcknowledgements
- Special thanks to the open-source community / youtube for tools and resources.