Skip to content

Repository files navigation

ML Learning

This repository is a notebook-first machine learning study log. It captures a hands-on path through core supervised learning ideas: starting with linear regression, moving into classification, and ending with a small regression neural network exercise.

Rather than treating machine learning as a black box, these notebooks lean into the mechanics behind the models: cost functions, gradient descent, feature preparation, evaluation, and practical tradeoffs when working with real datasets.

Learning Arc

Linear Regression
    ->
Multiple Features
    ->
Binary Classification
    ->
Classical ML Classifiers
    ->
Neural Network Regression

The overall path is simple: start with models that are easy to visualize, then introduce more features, sharper decision boundaries, stronger evaluation habits, and finally a layered model that pushes the same ideas further.

What This Repo Covers

Project Focus Dataset / Problem
univariate_linear_regression Single-variable linear regression Predict salary from years of experience
multiple_linear_regression Multi-feature linear regression Predict student performance from study and lifestyle features
logistic_regression Binary classification with sigmoid and log loss Predict diabetes outcome from medical features
decision-tree-classifier Decision tree classification Predict student admission decisions
svm_classifier Support Vector Machine classification Predict loan eligibility from customer attributes
KNN-classifier K-Nearest Neighbors classification Classify breast cancer samples as benign or malignant
regression_neural_network Regression with a neural network Predict a continuous student performance target

Project Shape

This is not a packaged library. It is a collection of focused experiments, each stored in its own folder with:

  • a Jupyter notebook containing the workflow and discussion
  • a CSV dataset used by that notebook
  • code for data cleaning, preparation, model training, and evaluation

That makes the repo useful as a personal reference, a revision guide, and a record of how different ML ideas connect in practice.

Stack

  • numpy
  • pandas
  • matplotlib
  • seaborn
  • scikit-learn
  • ipympl

Dependencies are listed in requirements.txt.

Getting Started

  1. Create and activate a virtual environment.
  2. Install the project dependencies:
pip install -r requirements.txt
  1. Open the notebooks with Jupyter Notebook or JupyterLab.

What I Have Learnt

This repository reflects a few concrete lessons:

  • I learned how linear regression is built from the ground up: hypothesis function, cost function, and iterative parameter updates with gradient descent.
  • I learned why feature scaling and normalization matter, especially for optimization speed and distance-based models like KNN.
  • I learned that data cleaning is not a side task. Removing weak features, handling missing values, and dropping non-predictive columns often matters as much as the model choice.
  • I learned the difference between regression and classification more clearly by implementing both and seeing how the loss functions change.
  • I learned why logistic regression uses sigmoid activation and log loss instead of mean squared error.
  • I learned how tree-based, margin-based, and distance-based classifiers each approach the same prediction task differently.
  • I learned to think about evaluation beyond a single score by using ideas like confusion matrices, precision, recall, F1-score, and train/test splits.
  • I learned that model selection is tied to the problem shape: structured tabular data often rewards careful preprocessing and a sensible baseline before reaching for something heavier.
  • I learned that neural networks extend familiar regression ideas, but with layered parameters, activation functions, and backpropagation.
  • I learned to move between theory and implementation instead of treating the math and the code as separate subjects.

Why This Repo Is Useful

If you are learning ML in a practical way, this repo is useful because it shows progression:

  • from simple to more expressive models
  • from math-first intuition to applied workflows
  • from raw CSV files to trained and evaluated models

It is best read notebook by notebook, in roughly the order listed above.

Next Areas To Add

Reasonable next steps for this project would be:

  • regularization for linear and logistic regression
  • ensemble methods such as random forests
  • clustering with K-Means
  • dimensionality reduction with PCA
  • cleaner experiment tracking and result comparison across notebooks

About

A notebook-first machine learning study log.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages