ufc-predictor / README.md
AlvaroMros's picture
Add AGPL-3.0 license and update documentation
8a644b9

A newer version of the Gradio SDK is available: 5.42.0

Upgrade
metadata
title: UFC Fight Predictor
emoji: 🥊
colorFrom: red
colorTo: blue
sdk: gradio
sdk_version: 4.28.3
app_file: app.py
pinned: false

UFC Scraper & ML Hugging Face Spaces

Setup

  1. Clone the repo (or download it), then open a terminal in the root folder

  2. Install the required Python packages using pip:

pip install -r requirements.txt

Usage

1. Data Scraping

Initial Setup (First Time):

python -m src.main --pipeline scrape --scrape-mode full

Scrapes all historical fight data from ufcstats.com.

Update Data (Regular Use):

python -m src.main --pipeline scrape --scrape-mode update

Adds only the latest events to existing data.

2. Fight Prediction

Use Existing Models (Fast):

python -m src.main --pipeline predict

Loads saved models if available and retrains if new data available.

Force Retrain Models:

python -m src.main --pipeline predict --force-retrain

Always retrains all models from scratch with latest data.

3. Complete Pipeline

2.1 Complete Pipeline

python -m src.main --pipeline all --scrape-mode update

Runs scraping (update mode), analysis, and prediction in sequence.

4. Model Updates Only

python -m src.main --pipeline update

Checks for new data and retrains models only if needed (perfect for automation).

Model Performance

The system tests on the latest UFC event for realistic accuracy scores (typically 50-70% for fight prediction).

Output

  • Data: output/ufc_fights.csv, output/ufc_fighters.csv
  • Models: output/models/*.joblib
  • Results: output/model_results.json

License

This project is licensed under the GNU Affero General Public License v3 (AGPL-3.0) - see the LICENSE file for details.

What this means:

  • Free for personal, research, and educational use
  • Can be modified and redistributed (with source code)
  • Network Copyleft: If you run this as a web service or API, you must make your source code publicly available
  • Strong Copyleft: Any modifications or derivative works must also be AGPL-3.0 licensed
  • Commercial use is allowed but requires compliance with copyleft terms

This license specifically prevents companies from using this code in proprietary betting platforms or closed-source prediction services without contributing back to the open source community.