Skip to content

Sohail342/flight_price_prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flight Price Prediction API

A machine learning-based API for predicting flight prices using scikit-learn. This project provides a FastAPI application that serves predictions from a trained linear regression model.

Project Overview

This application predicts flight prices based on various features such as:

  • Flight class (Economy/Business)
  • Flight duration
  • Days left until departure
  • Source and destination cities
  • Airline
  • Departure and arrival times
  • Number of stops

The prediction model is built using scikit-learn's Linear Regression algorithm and is served through a RESTful API built with FastAPI.

Technical Stack

  • Python: 3.13+
  • FastAPI: Web framework for building APIs
  • scikit-learn: Machine learning library for model training and prediction
  • Pandas: Data manipulation and analysis
  • Joblib: Model serialization and loading

Project Structure

├── app/
│   ├── api/
│   │   └── v1/
│   │       └── prediction.py    # API endpoints
│   ├── ml__models/
│   │   ├── flight_price_pipeline.pkl  # Trained model
│   │   └── model__loader.py     # Model loading utilities
│   ├── schemas/
│   │   └── prediction.py        # Request/Response schemas
│   └── services/
│       └── ml_services.py       # Prediction service
│   └── main.py                  # FastAPI application
├── airlineprediction.ipynb      # Notebook with model development
├── pyproject.toml               # Project dependencies
└── README.md                    # Project documentation

Installation

  1. Ensure you have Python 3.13 or higher installed
  2. Clone the repository
  3. Install dependencies:
pip install -e .

Usage

Starting the API Server

uvicorn app.main:app --reload

The API will be available at http://localhost:8000

Making Predictions

Send a POST request to the /api/v1/predict endpoint with the required features:

curl -X POST "http://localhost:8000/api/v1/predict" \
     -H "Content-Type: application/json" \
     -d '{
           "class": 1,
           "duration": 2.5,
           "days_left": 10,
           "destination_city_Chennai": 0,
           "destination_city_Delhi": 0,
           "destination_city_Hyderabad": 0,
           "destination_city_Kolkata": 0,
           "destination_city_Mumbai": 1,
           "airline_Air_India": 0,
           "airline_GO_FIRST": 0,
           "airline_Indigo": 1,
           "airline_SpiceJet": 0,
           "airline_Vistara": 0,
           "source_city_Chennai": 0,
           "source_city_Delhi": 1,
           "source_city_Hyderabad": 0,
           "source_city_Kolkata": 0,
           "source_city_Mumbai": 0,
           "departure_time_Early_Morning": 1,
           "departure_time_Evening": 0,
           "departure_time_Late_Night": 0,
           "departure_time_Morning": 0,
           "departure_time_Night": 0,
           "arrival_time_Early_Morning": 0,
           "arrival_time_Evening": 0,
           "arrival_time_Late_Night": 0,
           "arrival_time_Morning": 1,
           "arrival_time_Night": 0,
           "stops_encoded": 0
         }'

Model Information

The flight price prediction model is a Linear Regression model trained on flight data with the following features:

  • Target Variable: Flight price
  • Features:
    • Flight class (Economy/Business)
    • Flight duration
    • Days left until departure
    • Source and destination cities (one-hot encoded)
    • Airline (one-hot encoded)
    • Departure and arrival times (one-hot encoded)
    • Number of stops (encoded)

The model is packaged as a scikit-learn pipeline that includes preprocessing steps and the regression model.

About

A machine learning-based API for predicting flight prices using scikit-learn.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors