Skip to content

Repository files navigation

Machine Learning Practice Notebooks

A collection of small, hands-on notebooks for learning automatic differentiation, neural networks, and common machine-learning workflows. The repository starts with a scalar-valued autograd engine inspired by micrograd, then moves into PyTorch regression and classification exercises.

Notebooks

Notebook Topic
micrograd_walkthrough.ipynb Build scalar autograd, neurons, layers, and a multilayer perceptron from scratch
micrograd_exercises.ipynb Derivatives, backpropagation, and softmax exercises
tensor_practice.ipynb PyTorch tensor fundamentals
linear_regression.ipynb A complete PyTorch linear-regression workflow
classification.ipynb Binary and multiclass classification with PyTorch
fashionMNIST.ipynb Fashion-MNIST dataset, data loaders, and neural-network training
exercises/02_pytorch_classification_exercises.ipynb Additional PyTorch classification exercises
decision_trees/melbourne_housing.ipynb Initial exploration of the Melbourne housing dataset

Reusable plotting, evaluation, download, and reproducibility utilities live in helper_functions.py.

Setup

Python 3.12 is recommended.

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
jupyter lab

The Python graphviz package also needs the Graphviz system executable when rendering computation graphs. On macOS, install it with brew install graphviz.

Local data and model outputs

Downloaded datasets belong in data/, and generated PyTorch weights use the .pt or .pth extensions. These files are intentionally ignored so the repository stays small and reproducible. The Fashion-MNIST notebook downloads its dataset automatically; the decision-tree notebook expects data/melbourne-housing/melb_data.csv.

Releases

Packages

Contributors

Languages