Self-directed project
Predictive Maintenance: Industrial ML for Fault Detection
Condition-Monitoring Engineer · AI / ML · August 2026
A ProoV case study · educational project, not employment
Built an end-to-end rolling-bearing fault detector using vibration snapshots, physics-based time and frequency features, and a compact decision tree sized for embedded use. The work includes a held-out evaluation and a maintenance memo that justifies the alarm threshold with explicit cost trade-offs, catch-rate, and false-alarm figures, while identifying the outer-race fault from the dominant defect frequency.
Graded against
- Feature engineering (signal to honest numbers)25%
- Held-out evaluation (honest measurement)25%
- Cost-based threshold decision + memo25%
- Compact model + embedded-budget justification15%
- Plain-language explanation10%
Passed · pass mark 60/100
What stood out6
- Used a depth-capped decision tree and explicitly stated depth 2 with 5 nodes against an embedded budget.
- Selected kurtosis as the strongest time-domain fault indicator, which aligns with impulsive bearing damage.
- Wrote a maintenance memo that ties the threshold to concrete euro costs and names the outer race from the BPFO peak.
- Included a plain-language analogy to explain why damaged bearings produce distinctive vibration patterns.
- Leakage-Aware Model Building
- Physics-Informed Feature Selection
The work I submitted17 tasks
9 tasks · 5.6k characters · Python, JavaScript · 8 written answers · 452 words
- Initial Prediction62 characters
- Load Plot Signal CodePython · 1.8k characters
- Example Rms WorkedPython · 697 characters
- Time Features143 characters
- Freq FeaturesPython · 1.1k characters
- Train Classifier363 characters
- Evaluation Heldout283 characters
- Threshold Decision335 characters
- Decision MemoJavaScript · 835 characters
- Initial Prediction9 words
- Load Plot Signal Code163 words
- Example Rms Worked72 words
- Time Features10 words
- Freq Features117 words
- Train Classifier31 words
- Evaluation Heldout24 words
- Threshold Decision26 words
Summarised on purpose — the submitted code and writing stay private so this page cannot be reused as an answer key. The full submission sits behind the verified certificate.