Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlightRank 2025: Aeroclub RecSys Cup — 4th Solution

This repository contains the source code for our best XGBoost model, achieving a LB of 0.52795 and PB of 0.53552.

Kaggle Write-Up

4th Solution: XGBoost Model

Environment Requirements

  • Python Version: 3.11
  • Memory: Running the full training pipeline (loading the dataset and feature engineering) requires approximately 400 GB of RAM
  • GPU: Recommended for accelerating XGBoost model training

File Structure

├── extract.ipynb       # Extract additional information from raw JSON files
├── flight.ipynb        # Main notebook
├── requirements.txt    # Python dependencies
├── run.sh              # Script to run notebook in the background
└── src
    ├── __init__.py
    ├── data.py             # Data splitting
    ├── feature.py          # Feature engineering and selection
    ├── feature_specs.py    # Feature specifications used in the model
    ├── params.py           # Model hyperparameters
    ├── plot.py             # Visualization functions
    └── utils.py            # Utility functions: evaluation, reranking, prediction

How to Run the Code

  1. Download the data from Kaggle Aeroclub RecSys 2025 Data and place it in the ./data/ directory. Follow the instructions to unzip jsons_raw.tar.kaggle.
  2. Create a Conda environment and install the required packages from requirements.txt:
    conda create -n FlightRank python=3.11
    conda activate FlightRank
    pip install -r requirements.txt
  3. Run extract.ipynb to extract additional information from the raw JSON files.
  4. Configure flight.ipynb:
    • FULL = True — train on the full training dataset.
    • FULL = False — train on 90% of the training data for local validation.
  5. Optionally, adjust the training-validation split sizes in utils.py:
    • TRAIN_VAL_SIZE — size of the training-validation split.
    • TRAIN_ALL_SIZE — size of the dataset when modifying the training set.
  6. To add more features, modify or add functions in feature.py and include them in the feature_engineering workflow.
  7. For feature selection, update the FeatureSpec class in feature_specs.py by adding or removing features as needed.
  8. To use a trained model for predictions, go to the "Model Training" cell in flight.ipynb, uncomment the code that loads the model, and comment out the code that performs training.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages