Esta é uma ferramenta que tem como objetivo analisar jogos de futebol ao vivo e prever a ocorrência do primeiro gol na partida. Para isso, foi coletado dados de jogos diários ao vivo por um período de mais de um ano e treinado modelos de aprendizagem de máquina.
- Coleta de Dados: Web scraping em tempo real do site Opta Player Stats.
- Avaliação dos dados: Faz o pré-processamento e avalia os atributos dos dados.
- Modelagem: Utilização modelo AutoML TPOT.
- Notificação: Envio de notificações via bot do Telegram quando a previsão atinge um score específico.
- Python 3.1.x
- Keras
- Selenium (para web scraping)
- Automl TPOT
Os datasets utilizados para treinar os modelos, o dataset coletado através de web scraping contém mais de 1 milhão de registros, ele se chama "data_live_scores_full" e os outros datasets são as janelas de tempo que foram utilizadas para o treinamento dos modelos. Você pode acessar e baixar o dataset através deste link do Google Drive.
-
Instale as dependências:
pip install -r requirements.txt
Obs: Se quiser executar a ferramenta com os dados de jogos do dataset que já foi coletado e avaliado, pule para a etapa 4.
-
Para fazer a coleta de dados de jogos atuais, execute o arquivo
make-data.py
, altere a data da variáveldate_strings
para fazer a coleta dessa data até a data do dia de hoje. Obs: Esta etapa precisa de um container docker, crie um container docker baixando a ferramentadocker desktop
. -
Para treinar os modelos, é preciso avaliar todos os dados novamente, execute sequencialmente os arquivos jupyter
after_engineering.ipynb
,balanceando e tratando.ipynb
,modelo_por_liga.ipynb
emodel-automl.ipynb
. -
Crie um arquivo
.env
e adicione as credenciais do telegrama para que a ferramenta envie mensagens para o seu grupo ao encontrar um jogo ao vivo com previsão de um gol. Arquivo.env
exemplo:CHAT_ID='-100165'` TOKEN='6254535706:AAjzVyaJ5f8A_'
-
Para executar as previsões ao vivo, execute:
python main.py