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:

  1. Hyperparameter Tuning: Balanced Accuracy (ensures genuine discrimination)
  2. 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:

  1. Engine RPM
  2. Lub Oil Pressure
  3. Fuel Pressure
  4. Coolant Pressure
  5. Lub Oil Temp
  6. 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

Dataset used to train jskswamy/predictive-maintenance-model