Skip to content

Produces outcome probabilities of upcoming UFC fights using machine learning models trained on historical fight data

Notifications You must be signed in to change notification settings

Dimural/ufc-fight-predictor

Repository files navigation

UFC Fight Predictor

This project predicts the outcome probabilities of upcoming UFC fights using machine learning models trained on historical fight data.

Features

  • Cleans and preprocesses UFC fight data
  • Trains and evaluates Logistic Regression and Gradient Boosting models
  • Calibrates model probabilities for better prediction reliability
  • Predicts win probabilities for upcoming fights

How It Works

  • Loads historical UFC fight data and upcoming fight cards
  • Cleans and processes the data, engineering features for model input
  • Splits data into training and validation sets, removes outliers, caps and scales features
  • Trains and tunes models using GridSearchCV
  • Calibrates the best model and predicts win probabilities for new fights

Usage

  1. Clone this repository:
    git clone https://github.com/yourusername/ufc-fight-predictor.git
    cd ufc-fight-predictor
  2. Install dependencies:
    pip install -r requirements.txt
  3. Place your data files (ufc-master.csv and ufc_fight_cards.csv) in the project directory.
  4. Open and run the Jupyter notebook alternate_predictor.ipynb:
    jupyter notebook alternate_predictor.ipynb

Requirements

  • Python 3.8+
  • numpy
  • pandas
  • scikit-learn
  • jupyter

Install all dependencies with:

pip install -r requirements.txt

Notes

  • Data files are not included due to size. Please provide your own ufc-master.csv and ufc_fight_cards.csv.
  • The notebook is well-commented for easy understanding and modification.

License

MIT License

About

Produces outcome probabilities of upcoming UFC fights using machine learning models trained on historical fight data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published