Self-directed project
Predictive Maintenance: Industrial ML for Fault Detection
Condition-Monitoring Engineer · AI / ML · July 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. Evaluated on held-out bearings with a full confusion matrix, then wrote a maintenance memo that justified a 0.40 alarm threshold using the candidate’s own catch-rate, false-alarm rate, and cost numbers while correctly localizing the fault to the outer race from BPFO.
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 RMS, kurtosis, and crest factor with step-by-step logic and showed the expected spike in kurtosis/crest factor on the faulty signal.
- Used envelope-spectrum energy at the supplied defect frequencies and correctly found BPFO as the dominant band, mapping it to the outer race.
- Trained a depth-capped decision tree on training bearings only and stated the tree depth and node count against an embedded budget.
- Reported a complete held-out confusion breakdown with catch-rate and false-alarm rate, then defended a threshold using explicit cost figures.
- Leakage-Free Feature Engineering
- Honest Held-Out Evaluation
The work I submitted18 tasks
10 tasks · 11.5k characters · Python · 8 written answers · 714 words
- Initial Prediction62 characters
- Load Plot Signal CodePython · 1.8k characters
- Example Rms WorkedPython · 697 characters
- Time FeaturesPython · 1.9k characters
- Freq FeaturesPython · 1.1k characters
- Fault Location239 characters
- Train Classifier363 characters
- Evaluation HeldoutPython · 3.8k characters
- Threshold Decision334 characters
- Decision Memo1.2k characters
- Initial Prediction9 words
- Load Plot Signal Code163 words
- Example Rms Worked72 words
- Time Features173 words
- Freq Features110 words
- Fault Location14 words
- Train Classifier31 words
- Evaluation Heldout142 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.