Skip to content

lacpavan/ufcpredictor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UFC Winner Predictor

Projeto de Machine Learning para previsão de vencedores de lutas do UFC com base em atributos pré-luta dos atletas.

Previsão de vencedores de lutas do UFC usando Machine Learning


Sobre

Sou fã de MMA e praticamente todo sábado estou assistindo UFC. Durante a semana, vejo muita gente comentando sobre as próximas lutas, falando de possíveis “underdogs” ou de lutadores que podem surpreender.

Isso me fez pensar: será que dá pra analisar esses confrontos de forma mais objetiva usando dados?

A partir disso, desenvolvi o UFC Winner Predictor, um projeto que tenta prever o vencedor de uma luta com base nas informações dos atletas antes do combate.

O modelo utiliza features comparativas entre os lutadores (red vs blue) e foi treinado com divisão temporal dos dados, evitando vazamento de informação e simulando um cenário mais próximo da prática.


O que o projeto faz

  • Tratamento e preparação dos dados
  • Criação de features comparativas
  • Treinamento de modelo de classificação
  • Avaliação de desempenho
  • Aplicação interativa com Streamlit

Features utilizadas

O modelo utiliza atributos pré-luta dos atletas, transformados em features comparativas entre os cantos (red vs blue).

Entre as principais variáveis:

  • Idade
  • Altura e envergadura
  • Número de vitórias e derrotas
  • Precisão de golpes significativos
  • Precisão de takedowns
  • Estilo de luta (stance)

Essa abordagem permite que o modelo capture melhor as diferenças entre os lutadores, em vez de analisá-los de forma isolada.


Métricas

O modelo foi avaliado utilizando uma divisão temporal entre treino e teste, evitando vazamento de informação.

  • Accuracy: 0.71
  • ROC-AUC: 0.76

Essas métricas ajudam a entender tanto o desempenho geral quanto a capacidade do modelo de diferenciar vencedores e derrotados.


Exemplo de uso

Exemplo de previsão realizada pela aplicação:

  • Lutador A vs Lutador B
  • Probabilidade de vitória (red): 72%
  • Predição: Vitória do lutador A

Interface

A aplicação foi desenvolvida com Streamlit para permitir testes interativos a partir dos dados dos lutadores.

Preview do app


Dataset

O dataset não está incluído no repositório por conta do tamanho.

Para reproduzir o projeto:

  1. Baixe o dataset de UFC no Kaggle
  2. Coloque o arquivo UFC.csv em:
    • data/raw/
    • ou C:/Users/seuusuário/Downloads/archive/

Como rodar

Instale as dependências:

pip install -r requirements.txt

Treine o modelo:

python -m src.ufc_predictor.train

Execute a aplicação:

streamlit run app.py

Estrutura do projeto

|-- app.py
|-- README.md
|-- requirements.txt
|-- data
|-- docs
`-- src

Observações

Esse projeto foi desenvolvido com foco em simular um cenário mais próximo do mundo real, respeitando a evolução temporal dos dados e evitando vazamento de informação.

Próximos passos

  • Melhoria das features
  • Testes com outros modelos
  • Otimização de hiperparâmetros
  • Análise de interpretabilidade (ex: SHAP)

About

ML project that predicts UFC fight winners based on fighter statistics and pre-fight data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages