Skip to content

πŸ“šπŸ§  Explores core machine learning concepts through interactive, hands-on Jupyter notebooks. From building a neural network from scratch to applying dimensionality reduction and classification with real-world libraries, this project bridges the gap between theory and practical application.

Notifications You must be signed in to change notification settings

aryehky/ml-theory-to-implementation

Repository files navigation

🧠 ML Foundations: Theory to Practice

This repository explores core machine learning concepts through interactive, hands-on Jupyter notebooks. From building a neural network from scratch to applying dimensionality reduction and classification with real-world libraries, this project bridges the gap between theory and practical application.


πŸ“š Notebooks Overview

Notebook Focus Description
01_pca_dimensionality.ipynb πŸ“‰ Dimensionality Reduction Uses Principal Component Analysis (PCA) to reduce high-dimensional data while preserving variance. Ideal for feature compression and visualization.
02_neural_net_numpy.ipynb πŸ€– Neural Network from Scratch Implements a simple feedforward neural network using only NumPy. Covers forward propagation, backpropagation, and a training loop.
03_classification_models.ipynb πŸ§ͺ ML Classification Applies supervised learning techniques using scikit-learn. Includes data preprocessing, model training, evaluation, and comparison.

πŸ” Key Takeaways

🎯 PCA

  • Reduced a 4D dataset to 2D while retaining ~95% of variance.
  • Visualized separability of classes in reduced space.

πŸ› οΈ Custom Neural Network

  • Built from scratch using NumPy (no ML frameworks).
  • Trained a neural net using manual backpropagation and gradient descent.
  • Demonstrated convergence on a synthetic dataset.

πŸ“ˆ Classification Pipeline

  • Achieved ~97% accuracy using logistic regression.
  • Visualized results via a confusion matrix.
  • Compared multiple models including SVM and Decision Trees.

🧰 Tech Stack

  • Python – Core scripting language
  • NumPy – Neural network implementation
  • Scikit-learn – PCA, classification, evaluation tools
  • Matplotlib & Seaborn – Visualization
  • Jupyter Notebooks – Interactive development

πŸ“ Directory Structure

ml-theory-to-practice/
β”œβ”€β”€ 01_pca_dimensionality.ipynb        # Dimensionality Reduction with PCA
β”œβ”€β”€ 02_neural_net_numpy.ipynb          # Neural Network built from scratch
β”œβ”€β”€ 03_classification_models.ipynb     # Supervised ML classification models
└── README.md

πŸš€ Project Goals

  • Solidify foundational machine learning theory through hands-on implementation
  • Develop intuition for model behavior, training dynamics, and evaluation
  • Showcase practical skills for portfolio use or collaborative work

About

πŸ“šπŸ§  Explores core machine learning concepts through interactive, hands-on Jupyter notebooks. From building a neural network from scratch to applying dimensionality reduction and classification with real-world libraries, this project bridges the gap between theory and practical application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published