Skip to content

Your all-in-one Machine Learning resource – from scratch implementations to ensemble learning and real-world model tuning. This repository is a complete collection of 25+ essential ML algorithms written in clean, beginner-friendly Jupyter Notebooks. Each algorithm is explained with intuitive theory, visualizations, and hands-on implementation.

Notifications You must be signed in to change notification settings

niaj-a/Machine-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Machine Learning Algorithms from Scratch to Advanced

Welcome to my Machine Learning Algorithm Collection – a structured repository featuring 25+ essential ML algorithms with clear explanations, clean code, and hands-on implementation.

Whether you're a beginner learning the foundations or a developer preparing for interviews and real-world applications, this repository serves as your go-to ML learning companion.


📘 What This Repository Offers

  • ✅ Well-structured Jupyter Notebooks for each topic
  • 🧠 Easy-to-understand explanations with real code
  • 📊 Visualizations to support your understanding
  • 📌 Ideal for self-learners, university students, and professionals

📂 Algorithm Overview & Intuition

# Algorithm/Topic Description
0 Simple Linear Regression Models a straight-line relationship between a single input and output variable.
1 Regression Metrics Evaluate regression models using metrics like MAE, MSE, RMSE, and R².
2 Multiple Linear Regression Extends linear regression to handle multiple independent variables.
3 Gradient Descent A technique to minimize the model’s loss by updating weights iteratively.
4 Batch, Stochastic & Mini-batch GD Different strategies to update weights in gradient descent for faster or more stable learning.
5 Polynomial Regression Captures non-linear relationships by introducing polynomial terms into the model.
6 Ridge Regression Adds L2 regularization to penalize large coefficients and prevent overfitting.
7 Lasso Regression Uses L1 regularization to shrink some coefficients to zero (feature selection).
8 Elastic Net Regression Combines both L1 and L2 regularization for balanced regularization.
9 Logistic Regression A classification algorithm used to predict binary outcomes using a sigmoid function.
10 Classification Metrics Measures performance using accuracy, precision, recall, F1-score, and confusion matrix.
11 Multivariable Logistic Regression Logistic regression with multiple independent variables.
12 Decision Tree A flowchart-like structure that splits data based on features for classification or regression.
13 Voting Ensemble Combines multiple models and selects the majority (hard) or average (soft) prediction.
14 Bagging (Bootstrap Aggregation) Builds several models from different random subsets of the training data to reduce variance.
15 Random Forest An ensemble of decision trees, each trained on random data and features; improves accuracy and reduces overfitting.
16 AdaBoost Focuses on errors made by previous models and adjusts weights to improve subsequent models.
17 K-Means Clustering Groups data points into k clusters based on similarity and distance to centroids.
18 Gradient Boosting Builds models sequentially, each correcting the errors of the previous one for better performance.
19 Stacking & Blending Combines different models' predictions using a higher-level model (meta-learner).
20 Agglomerative Hierarchical Clustering Builds nested clusters by repeatedly merging the closest data points.
21 K-Nearest Neighbors (KNN) Classifies based on the majority class (or average value) of the k closest data points.
22 Linear Regression Assumptions Covers assumptions like linearity, normality, independence, and homoscedasticity.
26 Imbalanced Data Handling Techniques like SMOTE, undersampling, and class weighting used for skewed datasets.
27 Hyperparameter Tuning with Optuna Uses intelligent search strategies to find the best parameters for ML models.
28 ROC-AUC Curve Visualizes the trade-off between true positive and false positive rates in classification models.

🔍 Core Topics Covered

🧠 Supervised Learning

  • Linear Regression, Logistic Regression
  • Decision Trees, K-Nearest Neighbors (KNN)
  • Ensemble Learning (Bagging, Boosting, Voting, Stacking)

🎯 Unsupervised Learning

  • K-Means Clustering
  • Agglomerative Hierarchical Clustering

⚙️ Optimization & Tuning

  • Gradient Descent & Its Variants
  • Regularization (L1, L2, ElasticNet)
  • Optuna-based Hyperparameter Tuning

📈 Evaluation Techniques

  • Regression and Classification Metrics
  • Confusion Matrix, ROC-AUC

💼 Use Cases

  • 📚 ML Roadmap for Beginners
  • 💡 Interview Prep & Revision
  • 🚀 Project Reference for Developers
  • 🎓 Study Material for Coursework
  • 💻 Personal ML Portfolio Showcase

⭐ How You Can Support

If you find this project helpful:

  • Give it a ⭐ star
  • Fork and explore the notebooks
  • Suggest improvements via issues
  • Share it with your friends or classmates

🧑‍💻 About the Author

Niaj Ahmed
📍 Bachelor's in Computational Science & Artificial Intelligence 📍 Lappeenranta-Lahti University of Technology 📍 Finland 📫 GitHub | 🌐 LinkedIn

⚠️ License

This project is open source under the MIT License.

About

Your all-in-one Machine Learning resource – from scratch implementations to ensemble learning and real-world model tuning. This repository is a complete collection of 25+ essential ML algorithms written in clean, beginner-friendly Jupyter Notebooks. Each algorithm is explained with intuitive theory, visualizations, and hands-on implementation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published