A personal portfolio project showcasing Python proficiency through from‑scratch implementations of classical machine‑learning algorithms. Only NumPy and Matplotlib are used for numerical work and visualisation.
| Algorithm | Notebook | What it demonstrates |
|---|---|---|
| Linear Regression | Linear_Regression.ipynb | Closed‑form normal equation, RIDGE and LASSO regression, batch gradient descent, synthetic data fit |
| Logistic Regression | Logistic_Regression.ipynb | Binary classification, cross‑entropy loss, decision boundary visualisation |
| k‑Nearest Neighbours | kNN.ipynb | Lazy learning, distance metrics, effect of k on accuracy |
| Feed‑forward Neural Network | Deep Neural Networks.ipynb | Multi‑layer perceptron built from scratch, back‑prop, mini‑batch SGD |
(Each notebook is fully self‑contained; no external datasets or helper libraries are required.)
# 1. Clone the project
git clone https://github.com/M6LI/ML-Algorithms.git
cd ML-Algorithms
# 2. (Optional) create a virtual environment
python -m venv .venv && source .venv/bin/activate
# 3. Install minimal dependencies
pip install numpy matplotlib jupyter
# 4. Fire up Jupyter
jupyter notebookRun the cells top‑to‑bottom to see the algorithms learn in real‑time.
ML-Algorithms/
├── Deep Neural Networks.ipynb
├── Linear_Regression.ipynb
├── Logistic_Regression.ipynb
├── kNN.ipynb
└── README.md
Released under the MIT License.
Built for learning and demonstration!