Skip to content
adityas27Public

About

This repo has first principle implementation of statistical ML Algorithms in JupyterNotebooks for learning purpose

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Machine Learning Fundamentals

This repository is a practical collection of machine learning notebooks focused on core concepts and commonly used algorithms. It is designed for learning, experimentation, and quick reference while working through supervised and unsupervised learning techniques.

Repository Overview

The project is organized into a few key sections:

  • Supervised/ — notebooks covering prediction and classification algorithms
  • unsupervised/ — notebooks covering clustering, dimensionality reduction, and pattern discovery
  • datasets/ — datasets used for experiments and exercises
  • utils/ — helper scripts or utilities used across the notebooks

Topics Covered

Supervised Learning

  • Linear Regression
  • Logistic Regression
  • Decision Trees
  • Random Forest
  • Support Vector Machines (SVM)
  • K-Nearest Neighbors (KNN)

Unsupervised Learning

  • K-Means Clustering
  • DBSCAN
  • Principal Component Analysis (PCA)
  • Naive Bayes (included in the unsupervised folder as part of the exploration set)

Project Structure

ML/fundamentals/
├── README.md
├── datasets/
├── Supervised/
│   ├── decision_tree.ipynb
│   ├── KNN.ipynb
│   ├── linear regression prep.ipynb
│   ├── LogisticRegression.ipynb
│   ├── Random Forest.ipynb
│   ├── README.md
│   └── SVM.ipynb
├── unsupervised/
│   ├── DBSCAN.ipynb
│   ├── Kmeans.ipynb
│   ├── naive_bayes.ipynb
│   └── PCA.ipynb
├── utils/
└── ...

Getting Started

Prerequisites

Make sure you have Python installed, preferably version 3.9 or newer.

Install Dependencies

pip install jupyter numpy pandas matplotlib seaborn scikit-learn

If you want to use the notebooks in a local environment, launch Jupyter with:

jupyter notebook

Then open the notebooks from the Supervised/ or unsupervised/ directories.

Suggested Learning Path

  1. Start with regression and classification basics
  2. Explore decision trees and random forests
  3. Move into SVM and KNN
  4. Learn clustering with K-Means and DBSCAN
  5. Study PCA for dimensionality reduction
  6. Practice with datasets and compare model performance

Typical Workflow

Each notebook usually includes:

  • data loading
  • preprocessing and cleaning
  • model training
  • evaluation metrics
  • visualization of results
  • interpretation of findings

Notes

These notebooks document my implementations of fundamental machine learning algorithms from first principles, with a focus on understanding the underlying mathematics and mechanics rather than relying on high-level libraries. While they are currently educational implementations and not intended to be production-grade, I plan to extend and refine them into a reusable open-source library, with the eventual goal of publishing it on PyPI.

This project is a beginner-friendly ML learning notebook collection built to explore the core ideas behind many common machine learning algorithms.

About

This repo has first principle implementation of statistical ML Algorithms in JupyterNotebooks for learning purpose

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages