Skip to content

Latest commit

 

History

History
101 lines (58 loc) · 3.39 KB

File metadata and controls

101 lines (58 loc) · 3.39 KB

Airline Profitability Prediction

This project is a neural network model designed to predict airline profitability based on multiple factors. In the airline industry, maximizing profitability is a complex challenge influenced by multiple operational and financial factors. Given historical flight performance data, your task is to develop a machine learning model that accurately predicts profit (USD) for each flight based on features.

Documentation

1. Objective

The objective of this project is to create a machine learning model, a Neural Network in this case, to forecast flight profitability (USD) from different operational and financial parameters. The model must provide high accuracy, generalizability, and explainability to facilitate better decision-making for airline operators.

2. Data Preprocessing

2.1 Data Cleaning

Created new features like delay.

2.2 Data Scaling

Applied Standard Scaler to normalize numerical features for improved neural network convergence.

3. Model Architecture

The model is a fully connected feedforward neural network (FNN) implemented using TensorFlow/Keras.

3.1 Neural Network Design

alt text

alt text 3.2 Regularization & Optimization

L2 Regularization (λ = 0.001): Avoids overfitting.

Adam Optimizer: Learning rate that adapts with each step for quicker convergence.

Early Stopping: Trains until validation loss no longer improves.

4. Model Training & Evaluation

4.1 Training

epochs = 75 

batch_size = 64

4.2 Evaluation Metrics

Mean Absolute Error (MAE): Measures average absolute prediction error.

R² Score: Measures how well predictions fit actual values.

6. Visualization

Training Visualisation graphs

alt text

Important features for the model

alt text alt text

Web App

It predicts profit by taking a single record as input by using one of the trained model (comma seperated) image

App link (after running app.py)

Requirements

tensorflow==2.13.0

flask

pandas

numpy

scikit-learn

seaborn

matplotlib

Steps to train model

  1. Open the notebook at Training_Neural_Network_airline
  2. Import your data to dataframe named df
  3. Run the code in the Notebook.

Steps to test model

  1. Open the notebook at Test_Models
  2. Also download both the models.
  3. Import your data to dataframe named df.
  4. Run the code in the Notebook.

Training Data Link

flight_data.csv

Author

@Ichhabal Singh