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.
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. |
- Reduced a 4D dataset to 2D while retaining ~95% of variance.
- Visualized separability of classes in reduced space.
- Built from scratch using NumPy (no ML frameworks).
- Trained a neural net using manual backpropagation and gradient descent.
- Demonstrated convergence on a synthetic dataset.
- Achieved ~97% accuracy using logistic regression.
- Visualized results via a confusion matrix.
- Compared multiple models including SVM and Decision Trees.
- Python β Core scripting language
- NumPy β Neural network implementation
- Scikit-learn β PCA, classification, evaluation tools
- Matplotlib & Seaborn β Visualization
- Jupyter Notebooks β Interactive development
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
- 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