ML Training Lab

I use short, bounded training projects to practice the full machine-learning workflow: define a problem, prepare data, train a model, evaluate it on a held-out split, save reproducible checkpoints, and publish the results and limitations.

The current projects use synthetic datasets and are educational, not production forecasting systems. I state that directly because the useful proof is the training and evaluation process—not inflated claims about real-world performance.

Published models

Solar linear regression

I trained a PyTorch linear-regression model to predict daily solar output from five synthetic system and weather features.

  • 500 generated samples with a train/validation split
  • Feature and target normalization stored with the checkpoint
  • Validation R² of approximately 0.997 and RMSE of approximately 0.48 kWh
  • Best and latest checkpoints, training code, usage notes, and limitations

The high score reflects a deliberately simple synthetic dataset. It should not be read as evidence of production solar forecasting accuracy.

View the solar regression model on Hugging Face →

EV charging logistic regression

I trained a PyTorch binary classifier to decide whether to charge an EV from battery percentage and electricity price.

  • 300 synthetic samples with a normalized 80/20 train/validation split
  • BCEWithLogitsLoss, SGD, best-checkpoint selection, and learning-curve plots
  • Final validation accuracy of 93.33%, precision of 89.66%, recall of 96.30%, and F1 of 0.9286
  • Explicit documentation of the linear boundary, small dataset, and missing real-world context

View the EV charging classifier on Hugging Face →

What this work demonstrates

  • Building training and evaluation loops in PyTorch
  • Separating training and validation data
  • Fitting normalization statistics on training data and saving them for inference
  • Choosing metrics that match regression and classification problems
  • Tracking the best and latest checkpoints
  • Publishing model cards that explain intended use and failure boundaries

I also built and published a character-level Transformer to study causal self-attention and language-model training from first principles.

Status

Active learning track — 2026. I am continuing to publish small, fast-turnaround models while moving toward real datasets, stronger baselines, and more rigorous validation.