Self-directed project
Predictive Maintenance: Industrial ML for Fault Detection
Condition-Monitoring Engineer · AI / ML · September 2026
A ProoV case study · educational project, not employment
Built an end-to-end rolling-bearing fault detector using vibration snapshots, physics-based features, and a compact decision tree trained only on the training bearings. Evaluated it on held-out healthy and faulty bearings, identified the outer-race fault from the dominant BPFO energy, and justified an alarm threshold with concrete catch-rate, false-alarm, and cost numbers in a maintenance memo.
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
- Computed envelope-spectrum energy around the supplied defect frequencies and correctly found BPFO as dominant
- Chose kurtosis as the strongest time-domain indicator for the impulsive fault
- Reported a shallow decision tree with stated depth and node count, aligned to an embedded budget
- Defended the alarm threshold with explicit catch-rate, false-alarm rate, and cost figures
- Leakage-Free Feature Engineering
- Honest Held-Out Evaluation
The work I submitted20 tasks
12 tasks · 6.9k characters · Python · 8 written answers · 425 words
- Initial Prediction50 characters
- Load Plot Signal CodePython · 1.9k characters
- Example Load Plot HealthyPython · 952 characters
- Load Plot Signal205 characters
- Example Rms WorkedPython · 697 characters
- Time Features143 characters
- Freq FeaturesPython · 715 characters
- Fault Location239 characters
- Train Classifier363 characters
- Evaluation Heldout288 characters
- Threshold Decision333 characters
- Decision Memo1.0k characters
- Initial Prediction6 words
- Load Plot Signal Code163 words
- Example Load Plot Healthy90 words
- Load Plot Signal15 words
- Example Rms Worked72 words
- Time Features10 words
- Freq Features55 words
- Fault Location14 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.