Rank 3 — INFORMS RAS 2025 Kaggle Competition Log Loss: 0.0283 | Best Iteration: 831
Railway wheel failures are costly, dangerous, and difficult to predict. This project builds a multi-class predictive maintenance classifier on real-world railway sensor data to identify 5 failure types before they occur:
| Class | Failure Type |
|---|---|
| 0 | High Flange |
| 1 | High Impact |
| 2 | Thin Flange |
| 3 | Other |
| 4 | Not Failed |
Given monthly sensor readings per wheel, predict the failure type probability for each wheel.
Raw Sensor Data (20M+ readings)
│
▼
Chunk-based Data Loading (memory-efficient)
│
▼
Feature Engineering
├── Aggregated features (mean, std, lag across months)
├── Anomaly features (deviation from per-wheel baseline)
└── Lag features (6-month rolling window)
│
▼
Class Imbalance Handling → RUS + SMOTE
│
▼
Model Benchmarking
├── Logistic Regression
├── Decision Tree
├── Random Forest
├── XGBoost
├── CatBoost
└── LightGBM ✅ (Best)
│
▼
LightGBM (Optuna-tuned) → Log Loss: 0.0283
│
▼
Kaggle Submission → Rank 3
| Metric | Value |
|---|---|
| Competition Rank | 🥉 Rank 3 — INFORMS RAS 2025 |
| Best Model | LightGBM |
| Validation Log Loss | 0.0283 |
| Best Iteration | 831 (early stopping) |
| Dataset Size | 20M+ sensor readings |
| Failure Classes | 5 |
1. Memory-Efficient Chunked Loading
Sensor data exceeds RAM limits — loaded in chunks using pd.read_csv(chunksize=...), merged with failure labels per chunk.
2. Per-Wheel Anomaly Features Baseline computed from "not failed" months per wheel — deviations flagged as anomaly signals. This captures deterioration patterns invisible to standard aggregations.
3. Lag Features (6-month window) Rolling lag features capture temporal degradation trends leading up to failure.
4. LightGBM Hyperparameters
LGBMClassifier(
objective='multiclass', num_class=5,
n_estimators=3000, learning_rate=0.01,
num_leaves=64, feature_fraction=0.8,
bagging_fraction=0.8, bagging_freq=5,
reg_alpha=1.0, reg_lambda=1.0
)📦 Railway-Wheel-Failure-Prediction/
├── Railway_Wheel_Failure_LightGBM.ipynb # Full pipeline: features + model + submission
├── README.md
└── LICENSE
Note: Raw sensor CSV files not included (competition data — proprietary). Notebook shows full pipeline with outputs.
pip install lightgbm xgboost catboost scikit-learn pandas numpy imbalanced-learn optunaPredictive Maintenance · Multi-class Classification · Sensor Data Engineering · Anomaly Detection · Lag Features · LightGBM · Class Imbalance (SMOTE/RUS) · Hyperparameter Tuning · Kaggle Competition
This solution achieved Rank 3 in the INFORMS RAS 2025 Problem Solving Competition hosted on Kaggle — a railway operations research challenge open to participants globally.
Dhruv Kumar Sahu M.Tech, Industrial & Management Engineering — IIT Kanpur GATE 2024 AIR 33 | LinkedIn · GitHub