This project predicts the outcome probabilities of upcoming UFC fights using machine learning models trained on historical fight data.
- 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
- 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
- Clone this repository:
git clone https://github.com/yourusername/ufc-fight-predictor.git cd ufc-fight-predictor - Install dependencies:
pip install -r requirements.txt
- Place your data files (
ufc-master.csvandufc_fight_cards.csv) in the project directory. - Open and run the Jupyter notebook
alternate_predictor.ipynb:jupyter notebook alternate_predictor.ipynb
- Python 3.8+
- numpy
- pandas
- scikit-learn
- jupyter
Install all dependencies with:
pip install -r requirements.txt- Data files are not included due to size. Please provide your own
ufc-master.csvandufc_fight_cards.csv. - The notebook is well-commented for easy understanding and modification.
MIT License