Equipment Condition Modelling
A worked baseline for condition monitoring: feature engineering over sensor history, an evaluated model, and a serving path.
- Sector
- Industrial / manufacturing
- Discipline
- AI / ML
- Technology
- Python, scikit-learn, MLflow, FastAPI, Docker
The problem
Condition monitoring is a common first machine learning ambition, and a common first failure. Sensor history is imbalanced, genuine failures are rare, and a model that reports high accuracy is usually just predicting that nothing will happen.
What we built
We built this project to demonstrate the full path rather than the model alone: windowed feature engineering over sensor history, a baseline that any model must beat, evaluation using metrics appropriate to rare events, and a prediction service with a documented request and response contract.
Architecture
How the system fits together.
- 01
Feature engineering
Rolling statistics, rate-of-change and windowed aggregates computed over sensor history with strict time-based splits.
- 02
Baseline
A trivial always-negative baseline established first, so model performance is reported against something meaningful.
- 03
Train and evaluate
Gradient-boosted and linear models compared on precision, recall and precision-recall AUC rather than raw accuracy.
- 04
Track
Experiments, parameters and artefacts logged so any reported result can be reproduced.
- 05
Serve
The selected model wrapped in a prediction API with input validation, versioning and structured logging of every prediction.
Outcome
What the system delivers.
Capability delivered, stated plainly. We do not attach business metrics to this work that we are not in a position to verify.
- A reproducible training pipeline with time-based splits and no leakage
- Evaluation framed against a baseline, using metrics suited to rare events
- A versioned prediction API with a documented contract
- Every prediction logged, so live behaviour can be compared against test behaviour
- Python
- scikit-learn
- MLflow
- FastAPI
- Docker