Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🏎️ Formula 1 Qualifying Lap Time Predictor (FastF1 + XGBoost)

F1 Banner

Predict F1 Qualifying Lap Times and Grid Order using Machine Learning

This project uses FastF1 telemetry data and a gradient boosting model (XGBoost) to predict qualifying lap times for Formula 1 races — including a simulated 2025 United States GP (Austin) qualifying session.


📚 Overview

This repository demonstrates how to:

  • Collect historical qualifying data (2021–2023) from FastF1
  • Merge weather and track conditions (air temp, track temp, humidity, etc.)
  • Train a machine learning model to predict lap times
  • Generate a predicted qualifying order for any event
  • Visualize feature importance, model performance, and qualifying results

🧠 Project Highlights

✅ Uses real F1 telemetry via the FastF1 API
✅ Predicts realistic lap times (~1:34 for Austin)
✅ Model achieves R² ≈ 0.99 and MAE ≈ 0.3 s
✅ Includes weather-aware predictions
✅ Generates F1-style timing sheets with gaps (+0.xxx)
✅ Extensible for “what-if” scenarios (e.g., driver/team swaps or temperature changes)


🧩 Example Output

🏁 Predicted 2025 Austin GP Qualifying Order:

## Pos  Driver  Team                    Lap Time     Gap

1    SAI    Ferrari                1:34.147     +0.000
2    VER    Red Bull Racing        1:34.285     +0.138
3    LEC    Ferrari                1:34.473     +0.325
4    PER    Red Bull Racing        1:34.557     +0.410
5    HAM    Mercedes               1:34.743     +0.596
...

📈 Model Performance:
MAE = 0.321 s | R² = 0.988
🌡️ Austin Conditions: Air 32°C | Track ≈ 42°C


📊 Model Details

Features Used:

  • Driver
  • Team
  • Event (Circuit)
  • Tyre Compound
  • Tyre Life
  • Air Temperature
  • Track Temperature
  • Humidity
  • Pressure
  • Wind Speed
  • Track Status

Target:

  • Lap time (normalized per event)

Algorithm:

  • XGBRegressor

    • 800 estimators
    • learning_rate = 0.05
    • max_depth = 7
    • subsample = 0.8
    • colsample_bytree = 0.8

🔬 Insights You Can Explore

  • Driver vs. teammate performance over multiple seasons
  • Circuit clusters (fast vs. technical tracks)
  • Weather sensitivity — effect of air/track temp on lap time
  • Team development trends year over year
  • What-if simulations (e.g., “What if Leclerc drove a Red Bull?”)

🏁 Credits


📜 License

This project is released under the MIT License. Feel free to fork, modify, and build your own F1 analytics models!


“Data wins races — if you know how to read it.” 🏁

About

Machine learning–based Formula 1 qualifying lap time predictor using FastF1 telemetry and XGBoost.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages