Spatial Telemetry Pacing Engine
End-to-end machine learning pipeline and interactive web dashboard predicting ultra-endurance pacing across volatile mountain terrain.
Overview
This project features a production-grade machine learning application designed to predict ultra-endurance pacing at the Western States 100. By feeding physiological profiles and spatial terrain data into a non-linear ensemble model, this engine maps realistic exhaustion curves over 100 miles of volatile trail. The project demonstrates the complete ML lifecycle—from eliminating data leakage in the preprocessing stage to deploying a live, interactive inference dashboard on the cloud.
Core Pipeline & Data Operations
- Automated Preprocessing Gateways: Architected a robust
scikit-learnpipeline leveragingColumnTransformerandStandardScalerto automate the encoding of categorical variables and the scaling of numerical telemetry, strictly eliminating data leakage prior to model training. - Dynamic Inference Engine: Programmed an iterative simulation loop that dynamically updates cumulative fatigue markers (elapsed hours and distance) based on the model’s previous segment predictions, reflecting the compounding nature of biological exhaustion.
- Artifact Serialization: Packaged the entire preprocessing architecture and trained model into a lightweight
.joblibdeployment artifact, ensuring rapid, stateless inference capabilities in a cloud-hosted environment.
Statistical Modeling & Insights
- Non-Linear Ensemble Modeling: Engineered a Random Forest Regressor to capture the complex, non-linear biological “cliffs” where steep elevation grades and late-stage fatigue force runners into hiking, vastly outperforming baseline linear models.
- Predictive Performance Metrics: Evaluated pipeline accuracy using advanced regression metrics, achieving a high R-squared of 0.8249 and reducing the Mean Absolute Error (MAE) to a highly accurate 0.31 mph.
- Interactive Data Visualization: Deployed a live
Streamlitweb application that allows users to adjust physiological inputs (age, gender) and instantly generates dynamic turn-by-turn data tables and visual speed decay charts.
Live Project Links
- Interactive Dashboard: Live Simulation Demo
- Source Code Architecture: GitHub Repository
Tools & Skills
Python · scikit-learn · pandas · Random Forest · Streamlit · Machine Learning Pipelines · Data Engineering · Git · Data Visualization