Este projeto realiza uma análise de dados estruturada, com apoio de modelos simples de Machine Learning, para estudar a evolução do desempenho ofensivo de um jogador de futebol ao longo das temporadas.
O foco principal está na interpretação estatística, na engenharia de features e na construção de um pipeline reprodutível em Python, adotando boas práticas de organização e tratamento de dados.
Analisar a evolução da contribuição ofensiva normalizada por 90 minutos (xG90 + xA90) ao longo das temporadas, permitindo:
- Avaliar crescimento e maturação ofensiva
- Reduzir distorções causadas por variações de minutagem
- Construir uma base sólida para análises preditivas futuras
O projeto prioriza coerência estatística e entendimento do domínio futebolístico, em vez de performance preditiva agressiva.
Os dados utilizados foram obtidos a partir do Understat, uma plataforma amplamente utilizada para métricas avançadas de futebol.
O dataset é agregado por temporada, contendo informações como:
- Minutos jogados
- Gols e assistências
- Expected Goals (xG) e Expected Assists (xA)
- Métricas normalizadas por 90 minutos
Temporadas com baixa minutagem foram removidas da análise para evitar distorções em métricas normalizadas por 90 minutos, garantindo maior robustez estatística.
A métrica central do projeto é: xG90 + xA90
Essa métrica representa a contribuição ofensiva por 90 minutos, sendo mais estável e comparável entre temporadas do que métricas de volume absoluto.
- Python 3
- pandas
- scikit-learn
- matplotlib
ml-player-performance/
├── data/
│ ├── raw/ # dados brutos
│ └── processed/ # dados tratados e com features
├── src/
│ ├── 01_load_and_check.py
│ ├── 02_clean_season_data.py
│ ├── 03_features_season.py
│ ├── 04_modeling_season.py
│ └── 05_visualization.py
├── requirements.txt
└── README.md
Pipeline do projeto:
Carga e inspeção dos dados;
Limpeza e padronização;
Engenharia de features;
Modelagem com regressão linear;
Visualização da evolução por temporada;
Os scripts foram organizados como um pipeline em arquivos .py, favorecendo:
reprodutibilidade;
versionamento;
clareza de leitura;
manutenção do código;
Uso de Machine Learning
O projeto utiliza regressão linear, um modelo supervisionado de Machine Learning, com foco em:
identificar relações entre métricas ofensivas;
auxiliar na interpretação de tendências;
apoiar análises exploratórias;
Devido ao baixo número de observações (temporadas), o modelo é utilizado como ferramenta analítica, e não como um sistema preditivo robusto.
Visualização
O projeto inclui uma visualização que mostra a evolução do xG90 + xA90 por temporada, permitindo identificar padrões de crescimento e consolidação ofensiva ao longo do tempo.
Observações metodológicas
O dataset é pequeno, portanto os resultados devem ser interpretados como tendências, não previsões determinísticas.
O foco do projeto está na qualidade da análise, na engenharia de dados e na clareza metodológica.