This project aims to predict potential rotor faults in helicopters using machine learning techniques. The dataset contains various parameters related to the helicopter's rotor system, and the goal is to use these parameters to predict whether the system is faulty or fault-free (binary classification: 0 or 1).
The core of the project involves:
- Random Forest Regressor: To predict the target torque (
trq_target) based on input features. - Formula Calculation: Using a known formula to calculate the torque margin (
trq_margin), a key variable. - Fault Classification: A Random Forest classifier to determine if the rotor data is faulty or fault-free, based on the calculated
trq_marginand other input variables.
The dataset consists of the following columns:
id: Unique identifier for each record.trq_measured: Measured torque (Torque), indicating the torque generated by the engine.oat: Outside Air Temperature.mgt: Measured Gas Temperature (MGT), representing the temperature of the gases at the turbine outlet.pa: Pressure Altitude (PA), indicating altitude based on standard atmospheric pressure.ias: Indicated Airspeed (IAS), representing the helicopter's speed relative to the surrounding air.np: Power Turbine Speed (NP), relative to the nominal speed of the power turbine.ng: Gas Generator Speed (NG), relative to the maximum speed of the high-pressure compressor of the engine.
These parameters represent critical measurements from the helicopter's rotor system.
- Data Preprocessing: Clean and preprocess the data to handle missing values, outliers, or any other data-related issues.
- Feature Engineering: Derive relevant features such as
trq_targetusing the Random Forest regressor. - Torque Margin Calculation: Apply the known formula to calculate the
trq_marginbased on the predictedtrq_targetand other parameters. - Fault Prediction: Use a Random Forest classifier to classify the system as faulty (1) or fault-free (0) based on the
trq_marginand other features. - Model Evaluation: Evaluate the models using appropriate metrics (e.g., accuracy, precision, recall, etc.).
- PDF definition: Definition of the Torque margin Probability Density Function.
To run this project, you'll need the following Python libraries:
numpypandasscikit-learnmatplotlibseaborn
- Clone the repository
git clone https://github.com/lucabellantee/FlyGuard.git
- Install the dependencies
pip install -r requirements.txt
- Run the project
python main.py