This repository contains implementations of core Machine Learning algorithms from scratch, without relying on high-level ML libraries like scikit-learn. Each folder contains one algorithm, its dataset (if applicable), and Jupyter notebooks for step-by-step explanation and code.
## 📂 Project Structure
from scratch/
├── linear regression/
├── multiple linear regression/
├── logistic regression/
├── polynomial_regression/
├── anaconda_projects/
└── README.md
This repo needs an overhaul as i will be writing the files again in pure python and avoiding the use of notebooks. I will try to use google collab for any gpu-required tasks
linear_regression.ipynb: Simple linear regression from scratchlinereg_normal.ipynb: Implementation using the Normal Equation- Dataset:
data.csv : study hours vs marks
multiple_linear_regression.ipynb: Handles multivariate input- Dataset:
California Housing dataset from sklearn
logistic_regression.ipynb: Binary classification from scratch- Dataset:
Social_Network_Ads.csv
polynomial_regression.ipynb: Captures non-linear relationships- Dataset:
Fish.csv
- Decision Trees
- Naive Bayes
- K-Means Clustering
- SVM
- Deepen understanding by implementing algorithms step-by-step
- Visualize how models work under the hood
- Create a growing ML reference from scratch
- Use minimal libraries (only
numpy,pandas,matplotlib)
All notebooks are tested using:
- Python 3.x
- Jupyter Notebook
- (Optional) Anaconda for environment management
- Each folder includes a
.ipynbnotebook with math, logic, and implementation. - Check
.ipynb_checkpoints/if you're resuming work or looking for autosaves. - Some folders include datasets used for demonstration.
Ethan Shibu
🔗 LinkedIn
#MachineLearning #FromScratch #Regression #Python #BeginnerProjects #DataScience