Skip to content

Predictive maintenance system classifying NASA turbofan engine health into actionable risk categories (Good/Moderate/Warning) using CatBoost and sensor data.

License

Notifications You must be signed in to change notification settings

szxivk/Jet-Engine-Health-Monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✈️ Jet Engine Health Monitoring System

Python Model Status

My Original Kaggle Notebook

📖 Overview

In aerospace maintenance, predicting the exact "time to failure" is often less valuable than knowing the current health state of an engine. This project builds a predictive maintenance system that classifies NASA turbofan engines into three actionable risk categories based on sensor data.

Instead of raw RUL regression, this system calculates a Life Ratio (LR) to normalize engine wear across different units and predicts the safety status.

🚦 Operational Status Classifications

The model categorizes engine health into the following system for maintenance decision-making:

Label Status Criteria (Life Ratio) Operational Action
🟢 0 Good LR <= 0.6 Safe to fly. No action needed.
🟡 1 Moderate 0.6 < LR <= 0.8 Flag for upcoming maintenance.
🔴 2 Warning LR > 0.8 CRITICAL: Immediate Grounding/Overhaul.

📊 Methodology & Engineering

  • Data Cleaning: Removed 11 low-variance features (e.g., setting3, s01, s18, s19) that offered no predictive signal.
  • Target Engineering: Calculated Life Ratio = Current_Cycle / Total_Cycles to normalize wear.
  • Model: CatBoost Classifier chosen for its robustness with categorical data and tabular performance.
  • Optimization: Used RandomizedSearchCV to tune hyperparameters (learning_rate=0.01, depth=10, l2_leaf_reg=0.01).

🚀 Key Results

  • Generalization: Hyperparameter tuning increased Test Set accuracy from 67% to 69% and nearly doubled the R2 score.
  • Safety First: The model successfully minimizes "False Negatives" (predicting 'Good' when an engine is actually in 'Warning' state), which is the most critical metric for aviation safety.

Confusion Matrix
(Figure 1: Confusion Matrix showing high recall for 'Warning' state to prevent false negatives)

🛠️ Usage

  1. Clone the repo:
    git clone [https://github.com/szxivk/jet-engine-health-monitoring.git](https://github.com/szxivk/jet-engine-health-monitoring.git)
    cd jet-engine-health-monitoring
    
  2. Install dependencies: (Note: This project strictly requires scikit-learn 1.5.2 to avoid compatibility issues with the latest version)
    pip install -r requirements.txt
    
  3. Run the notebook:
    jupyter notebook notebooks/turbofan_prediction.ipynb
    
    

🔗 Data Source

NASA C-MAPSS (Commercial Modular Aero-Propulsion System Simulation). Download Data Here

👨‍💻 Author's Note

This project applies concepts from the Machine Learning Specialization by DeepLearning.AI to a real-world aerospace scenario, focusing on the practical engineering implementation of predictive maintenance.


Created by Shahroz Khan - Aerospace Engineering & Data Science

About

Predictive maintenance system classifying NASA turbofan engine health into actionable risk categories (Good/Moderate/Warning) using CatBoost and sensor data.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published