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 a working rolling-bearing fault detector end to end: engineered RMS, kurtosis, crest factor, and defect-frequency envelope features; localized the fault to the outer race via BPFO; trained a compact depth-2 decision tree on training bearings only; and evaluated it on held-out bearings with reported catch-rate and false-alarm rate. The candidate also wrote a maintenance memo that justified a 0.60 alarm threshold using their own cost numbers and explained the decision in plain language.
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 the requested envelope-spectrum band energies and correctly identified BPFO as the dominant defect frequency.
- Trained a depth-capped decision tree on training bearings only and stated both depth and node count against the embedded budget.
- Used held-out metrics and a cost argument in the memo, rather than optimizing for raw accuracy alone.
- Included a clear maintenance-facing explanation tying the 236.4 Hz outer-race peak to the alarm decision.
- Leakage-Free Feature Engineering
- Physics-Grounded Fault Localization
The work I submitted19 tasks
11 tasks · 6.4k characters · Python · 8 written answers · 393 words
- Initial Prediction50 characters
- Load Plot Signal CodePython · 1.9k characters
- Load Plot Signal205 characters
- Example Rms WorkedPython · 698 characters
- Time Features143 characters
- Freq FeaturesPython · 929 characters
- Fault Location239 characters
- Train Classifier363 characters
- Evaluation Heldout287 characters
- Threshold Decision332 characters
- Decision Memo1.3k characters
- Initial Prediction6 words
- Load Plot Signal Code163 words
- Load Plot Signal15 words
- Example Rms Worked72 words
- Time Features10 words
- Freq Features82 words
- Fault Location14 words
- Train Classifier31 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.