Predictive Maintenance Model
Model Description
This AdaBoost classifier predicts whether a diesel engine requires maintenance based on sensor readings. The model was trained for commercial fleet predictive maintenance applications.
Metric Strategy
Two-stage approach:
- Hyperparameter Tuning: Balanced Accuracy (ensures genuine discrimination)
- Model Selection: Recall (maximizes failure detection)
For predictive maintenance, missing a failure is far more costly than a false alarm.
Performance Metrics (Held-Out Test Set)
| Metric | Value |
|---|---|
| Recall | 0.9978 |
| F2 Score | 0.8942 |
| Balanced Accuracy | 0.5026 |
| ROC-AUC | 0.6957 |
| Precision | 0.6317 |
Features
The model uses 6 engine sensor readings:
- Engine RPM
- Lub Oil Pressure
- Fuel Pressure
- Coolant Pressure
- Lub Oil Temp
- Coolant Temp
Usage
import joblib
import pandas as pd
from huggingface_hub import hf_hub_download
# Download model
model_path = hf_hub_download(
repo_id="jskswamy/predictive-maintenance-model",
filename="best_model.joblib"
)
model = joblib.load(model_path)
# Prepare input data (6 features)
X_new = pd.DataFrame({
'Engine RPM': [800],
'Lub Oil Pressure': [3.5],
'Fuel Pressure': [6.0],
'Coolant Pressure': [2.5],
'Lub Oil Temp': [78],
'Coolant Temp': [80]
})
# Predict
prediction = model.predict(X_new)
probability = model.predict_proba(X_new)[:, 1]
print(f"Prediction: {'Normal' if prediction[0] == 0 else 'Maintenance Required'}")
print(f"Maintenance Probability: {probability[0]:.2%}")
Training Details
- Algorithm: AdaBoost
- Hyperparameter Tuning: Optuna with 3-fold stratified CV
- Scoring: Balanced Accuracy
- Split: 75/10/15 (Train/Validation/Test)
- Training Data: 14,651 samples
- Validation Data: 1,953 samples
- Test Data: 2,931 samples
License
MIT License
- Downloads last month
- -
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support