Clube da Aposta Clube da Aposta menu  
fundo 1
Home > Apostas Esportivas > Machine Learning • Aprendizado de máquina nas apostas e no futebol

Machine Learning • Aprendizado de máquina nas apostas e no futebol

Machine Learning, ou em nosso bom português: aprendizado de máquina, é o que permite às casas de apostas traçarem as odds – ou cotações – que você vê sempre ao abrir um site de qualquer uma delas. Talvez você tenha a impressão de que isso seja coisa de asiático do Vale do Silício, mas aplicar o aprendizado de máquinas nas apostas e no futebol está cada vez mais acessível, e talvez esse artigo seja o divisor de águas para um fantástico aprendizado que você jamais imaginou ter.

E o que é esse tal de Machine Learning ou Aprendizado de máquina?

O Que E Machine LeaningSe você buscar na Wikipedia por alguma explicação mais formal, teremos algo mais ou menos assim:

É a capacidade dos computadores aprenderem e tomarem decisões sem que sejam exatamente programados para isso. Aprende-se através dos exemplos, ponderando erros e acertos através de algoritmos matemáticos.

Vejam que eu sapequei um negrito em “aprende-se através dos exemplos”, porque é justamente através da quantidade de exemplos, ou da quantidade de amostras que oferecemos ao algoritmo de aprendizagem de máquina que ele conseguirá de fato aprender alguma coisa.

Um exemplo idiota de aprendizado de máquina

Exemplo AlgoritmoNada melhor do que um exemplo, daqueles bem imbecis mesmo, para que isso fique muito claro. Vamos dizer que eu queira fazer uma previsão classificatória e, portanto, quero prever se uma coisa pode ser:

  • O nosso simpático designer, o Markin;
  • Uma garrafa de cerveja;
  • Ou uma vaca.

Para fazer essa previsão eu preciso trazer centenas ou mesmo milhares de exemplos de Markinhos, de garrafas de cervejas e de vacas. E quanto mais características relevantes eu conseguir trazer em meus exemplos, melhor será o meu modelo de aprendizado de máquina.

As variáveis no aprendizado de máquina: nº de patas, muge?

Vamos dizer que eu, com toda minha incompetência, somente consiga trazer duas variáveis:

  • Quantidade de patas;
  • Muge?

Portanto, temos aí uma variável numérica discreta que é a quantidade de patas, e uma variável binária que tem esse nome porque só assume dois valores: 0 para não, e 1 para sim. Veja só, como ficaria o nosso conjunto de dados que estamos usando para treinar o nosso modelo:

Exemplo Imbecil Machine Learning Aprendizado Maquina

Maravilha! Depois de ter mostrado para o nosso algoritmo uma caralhada de Markinhos, de Garrafas de Cerveja e de Vacas, o modelo vai conseguir achar um padrão através das variáveis e daí, ao ver uma “nova coisa” como essa:

Previsao Aprendizado Maquina Machine Learning

Ele dirá: “Ahá! Saporra aqui é uma vaca! Com 99,99% de certeza!” E veja que para chegar a tal decisão foi usado um algoritmo muito utilizado em aprendizado de máquina: uma árvore de decisão.

Os algoritmos são as ferramentas para a solução de problemas

A árvore de decisão é um algoritmo porque ela é um conjunto de regras e de operações lógicas e matemáticas que nos permite resolver um determinado problema. Em outras palavras, algoritmos são como ferramentas, e você precisará buscar a melhor ferramenta para um determinado problema. Um martelo pode ser ótimo para bater um prego, mas uma merda para coar um cafézinho.

Exemplo Arvore Decisao Machine Learning Aprendizado Maquina

Assim, a árvore de decisão foi fazendo perguntas para cada uma das variáveis e, dependendo das respostas, uma diferente classificação é dada para essa coisa nova que até então não havia classificação alguma.

Aprendizado de máquina nas apostas de futebol

Aprendizado Maquina Apostas FutebolEssa é a hora que você deve se perguntar:


Tá bom! Mas o que caralhos o Markinho, ou a cerveja ou a vaca tem a ver com Machine Learning nas apostas em futebol?

E a resposta é simples: em nosso problema anterior, o nosso desafio era classificar novas coisas em três categorias, que eram o Markinho, a garrafa de cerveja e uma vaca. Agora, enquanto apostadores, o nosso desafio poderá ser classificar uma partida que irá acontecer entre:

  • Mandante;
  • Empate;
  • Visitante.

Ou, mesmo, se a partida terá mais ou menos de 2.5 gols, ou ainda se um determinado Handicap vai bater. E mais importante que isso: calcular as probabilidades de cada uma dessas classificações, porque uma vez que a gente tem as probabilidades a gente consegue convertê-la em odds, e ao convertê-la em odds nós sabemos se uma aposta tem ou não valor esperado positivo.

As variáveis em aprendizado de máquina no futebol

Variáveis Aprendizado MaquinaExiste um campo de estudo na ciência de dados chamado ‘Feature Engineering’, a tradução para português fica bem ruim: engenharia de recursos. Assim, entenda Feature Engineering como a sua capacidade de adquirir e elaborar novas variáveis para o seu modelo de aprendizado de máquina.

Assim, para criar um modelo para prever o resultado de uma partida de futebol ter variáveis como:

  • Nº de patas
  • Muge?

Não tem nenhum valor! Porque essas variáveis não nos ajuda em nada em nosso novo problema. No futebol, fazer uma análise preditiva requer mais variáveis e também exige uma complexidade maior para obtê-las.

No início de 2019, nós aqui do Clube fizemos um processo seletivo para contratar um novo cientista de dados. Veja só como era o conjunto de dados utilizado para treinar o modelo de aprendizado de máquina que utilizamos como desafio nesse processo seletivo. Vou trazer um exemplo das 5 primeiras linhas:

Conjunto Dados Machine Learning Aprendizado Maquina Futebol
Um exemplo de um conjunto de dados utilizado para aprendizagem de máquina no futebol

Esse conjunto possuia 30 variáveis, que são elas:

  • ‘home_name’: Nome do mandante,
  • ‘away_name’: Nome do visitante,
  • ‘home_score’: Gols feitos pelo mandante na partida,
  • ‘away_score’: Gols feitos pelo visitante na partida,
  • ‘final_result’: Essa é a variável que queremos prever, trata-se do resultado final, sendo H (Home) Vitória do Mandante, D (Draw) Empate, e, por fim, A (Away) visitante,
  • ‘time’: Tempo em formato unix,
  • ‘home_pos’: A posição do mandante antes dessa partida,
  • ‘away_pos’: A posição do visitante antes dessa partida,
  • ‘round’: A rodada do campeonato,
  • ‘home_last5all_home’: Saldo de gols do mandante nas últimas 5 partidas,
  • ‘home_last5all_home_win’: Nº de vitórias do mandante nas últimas 5 partidas,
  • ‘home_last5all_home_draw’: Nº de empates do mandante nas últimas 5 partidas,
  • ‘home_last5all_home_lose’: Nº de derrotas do mandante nas últimas 5 partidas,
  • ‘away_last5all_away’: Saldo de gols do visitante nas últimas 5 partidas,
  • ‘away_last5all_away_win’: Nº de vitórias do visitante nas últimas 5 partidas,
  • ‘away_last5all_away_draw’: Nº de empates do visitante nas últimas 5 partidas,
  • ‘away_last5all_away_lose’: Nº de derrotas do visitante nas últimas 5 partidas,
  • ‘last5all_home_away_dif’: A diferença do saldo entre as equipes, ou seja: ‘home_last5all_home’ – ‘away_last5all_away’
  • ‘fifa_home_ova’: Score Geral do Mandante no Fifa
  • ‘fifa_home_att’: Score de ataque do Mandante no Fifa
  • ‘fifa_home_mid’: Score de meio de campo do Mandante no Fifa
  • ‘fifa_home_def’: Score de defesa do Mandante no Fifa
  • ‘fifa_away_ova’: Score Geral do Visitante no Fifa
  • ‘fifa_away_att’: Score de ataque do Visitante no Fifa
  • ‘fifa_away_mid’: Score de meio de campo do Visitante no Fifa
  • ‘fifa_away_def’: Score de defesa do Visitante no Fifa
  • ‘elo_home_score’: Score Elo do Mandante
  • ‘elo_away_score’: Score Elo do Visitante
  • ‘tfm_value_home’: Valor de mercado do elenco mandante em Euros
  • ‘tfm_value_away’: Valor de mercado do elenco visitante em Euros

A sua capacidade e criatividade de conseguir criar e construir boas variáveis será fundamental para sucesso do seu modelo de aprendizado de máquina nas apostas esportivas.

Um exemplo interessante, foi uma das postagens do Blog da Pinnacle, onde diziam que há algumas décadas atrás alguns apostadores começaram a ter uma vantagem competitiva sobre as casas porque havia inserido a variável ‘condições climáticas’ ao seu modelo. Entretanto, logo as casas se atualizaram, inserindo essa variável também e eliminando essa vantagem que havia sido conquistada.

Por quê você deveria estudar Machine Learning como apostador?

Porque Estudar Aprendizado MaquinaVocê provavelmente já deve ter percebido que para se aventura na área do aprendizado de máquina ou mesmo da ciência de dados como um todo você vai precisar aprender uma linguagem de programação. Atualmente, as mais recomendadas pela comunidade são:

  • Python
  • R

E vem justamente daí a maior vantagem nesse caminho: ainda que você não consiga bons resultados a caminhada valerá a pena.

Aprender programação é útil para a vida


Se você dedica anos da sua vida para estudar o trading esportivo, operar softwares como GeeksToy, entender resistências, peso do dinheiro, time bombs, momentos de jogo, entre outros conceitos do trading esportivo; dificilmente você conseguirá transportar esse conhecimento para outras áreas da vida caso você fracasse em tornar-se um trader lucrativo.

Entretanto, esse problema não ocorre aqui. Porque o que você irá aprender em Python, que é a linguagem que utilizamos e recomendamos, assim como todo o conhecimento de aprendizado de máquina, podem ser aplicados em diversas área da sua vida, seja ela pessoal ou mesmo profissional.

Certa vez, o meu grande amigo ‘Japa’ me disse algo que concordo muito: ‘a programação é o novo inglês’.

Assim, se antes precisávamos do inglês para nos destacar profissionalmente, o mesmo já está acontecendo com a programação que também é uma linguagem. É você aprendendo uma forma de falar com o seu computador o que fazer.

Lembre-se: isso não é coisa de asiático do Vale do Silício, programação é acessível a todos e aprendê-la no contexto das apostas esportivas é muito prazeroso.

Angústia de estar perdendo tempo

Angustia Perder TempoComo um reforço do argumento anterior, é angustiante dedicar seu tempo a estudar algo que talvez não te traga os retornos que você deseja. E volto a repetir: ainda que você não consiga ganhar um centavo sequer com as apostas esportivas através dos seus modelos a caminhada do aprendizado terá valido a pena.

Afinal, você aprendeu uma habilidade que é tida como essencial para o século que vamos enfrentar.

Você dificilmente vai quebrar uma banca

Quebrar Banca Nunca MaisAo criar um modelo e, em seguida, automatizá-lo, você só vai quebrar a sua banca se você for, com o perdão da palavra, um retardado. Ou então se você tiver feito alguma cagada que permitiu ao seu programa – muito provavelmente por algum bug – apostar além do percentual que você definiu.

Além disso, ao treinar um modelo de aprendizado de máquina você vai dividi-lo em dois conjuntos de dados:

  • Training Set: conjunto de treino;
  • Test Set: conjunto de testes.

Assim, adivinhe só: você poderá simular os ganhos do seu modelo no conjunto de testes, que é um conjunto que nunca foi visto pelo modelo, portanto é algo inédito, completamente novo. Se você teve os devidos cuidados em evitar o Overfitting dos dados, ou sobre-ajuste, esse modelo irá ter performance semelhante nos dados novos que virão.

Programar é dar uma série de instruções lógicas para o seu computador, e ele as seguirá linha a linha. Assim, veja que coisa maravilhosa: o seu computador não vai querer apostar toda a sua banca só porque o Mengão vai jogar contra um Fluminense desfalcado.

A frieza lógica dos computadores fica ao nosso favor, não há emocional, não há coração, mas tão somente a objetividade crua daquilo que foi programado por você mesmo.

Quer aprender Machine Learning aplicado às apostas no futebol?

Gostou? Então aproveite que esse ano, em parceria com a casa de apostas Pinnacle, vamos fazer um treinamento avançado completo em Punting, e nós vamos ensinar você a programar em Python, analisar dados, montar os seus conjuntos de dados para treinar seu modelo e fazer previsões para partidas de futebol.

Clique no banner abaixo e saiba mais sobre o nosso Curso de apostas Punting avançado:

Além disso, para quem quer se aprofundar nessa área, deixo as seguintes sugestões:

  • Kaggle: Comunidade de cientistas de dados, com desafios, fórum, cursos e discussões.
  • Datacamp: um dos melhores portais de cursos de Ciência de dados que já conheci;
  • Quora: é o Yahoo Respostas que deu certo. Discussões de altíssimo nível são feitas por lá.
  • Blog da Pinnacle: é o melhor blog de conteúdo analítico voltado para as apostas esportivas.

Vou ficando por aqui. Nos vemos em nosso curso! ;)

Conheca Treinamento Punting Avancado 2019

Escrito por

Autor
Humberto Alves

Opa! Sou o Beto, tenho 35 anos, sou graduado em Administração pela Universidade Federal de Minas Gerais e um dos fundadores do Clube da Aposta. Atualmente, estou em minha 2ª graduação - em Estatística, também pela UFMG -, além de seguir os meus estudos em Ciência de Dados e Machine Learning para produzir modelos preditivos aplicados ao futebol cada vez melhores. Conheci as apostas esportivas em 2008 e, apesar de estar há quase 20 anos nesse mundo, considero que ainda tenho muito o que aprender.

> Veja outros artigos criados por Humberto Alves
Newsletter
Newsletter

Receba o melhor conteúdo sobre Apostas Esportivas On-line direto na sua caixa de email