Em 1946, era criada a Associação Americana de Basquetebol (ABA), organização na qual se tornou a Associação Nacional de Basquetebol (NBA) 3 anos depois. Com o seu sucesso e longevidade, a NBA se tornou uma das ligas mais conhecidas e apreciadas no mundo todo. Uma parte desse sucesso é devido aos momentos únicos e emocionantes que apenas a NBA proporciona. Mas grande parte do brilho da NBA é devido aos jogadores, que se tornaram lendários, como Michael Jordan, Kobe Bryant, Lebron James e etc.
E assim como na maioria dos esportes, todo final de temporada um jogador é eleito o jogador mais valioso da liga ou MVP (Most Valuable Player), sendo tal prêmio visto como um dos parâmetros para avaliar se um jogador vai ser maior do que outros. É evidente que não é qualquer jogador que irá ser premiado com o MVP, poucos jogadores conseguem tal feito, mais raro ainda são os jogadores que vencem múltiplas vezes o tão glorioso prêmio. O motivo de um jogador ser agraciado com o prêmio de MVP, difere em alguns fatores, como pontos por jogo, assistências por jogo, rebotes por jogo, se um jogador é um líder em quadra ou não e assim por diante, não só atributos individuais, mas dependendo também do desempenho que seu time possui numa dada temporada.
Como visto acima, diversos fatores contribuem para um jogador da NBA ser eleito o MVP da temporada regular, portanto, este projeto visa criar um algoritmo de classificação com a intenção de prever o vencedor do mvp nas temporadas seguintes. Testarei diversos algoritmos para o aprendizado supervisionado para realizar a predição.
Os dados foram extraídos por mim, utilizando os scripts main.py e nbastats.py de minha autoria. Os mesmos scripts já possuem um tratamento de dados na qual agiliza os processos seguintes. Os algoritmos de machine Learning e avaliação dos mesmos serão todos executados utilizando o Scikit-Learn.
Para compreender quais features podem ser determinantes para obter resultados ótimo nos algoritmos, é realizada uma análise dos dados.
Uma possível feature que pode ser importante para inserir no algoritmo é, os times que os jogadores jogam, com isso, vamos analisar os times com mais MVPs da temporada regular na história da NBA. Os times com mais jogadores vencedores do prêmio de MVP é a franquia do Boston Celtics. A Figura abaixo mostra as cinco franquias com mais vencedores do prêmio.
Daqui, já podemos dizer que estatísticamente um jogador tem mais chances de ser MVP se jogar pelo time do Boston Celtics do que pelo Denver Nuggets, porém, é claro que tal afirmação é extremamente rude, já que a última vez que um jogador foi MVP da temporada regular vestindo a camisa do Boston foi em 1986 com Larry Bird, enquanto os últimos dois MVPs (2021 e 2022) foi dado ao jogador Nikola Jokic, que venceu a dobradinha vestindo a camisa do Denver Nuggets. Logo, o time não pode ser um fator tão relevante para a previsão de um jogador ser ou não ser MVP da NBA.
A Tabela abaixo mostra o número de vezes que cada time teve um jogador MVP pela temporada regular da NBA.
Franquias |
MVPs |
---|---|
Boston Celtics | 10 |
Los Angeles Lakers | 8 |
Chicago Bulls, Philadelphia 76ers |
6 |
Milwaukee Bucks | 5 |
Houston Rockets | 4 |
Golden State Warriors, Phoenix Suns, San Antonio Spurs |
3 |
Atlanta Hawks, Cleveland Cavaliers, Denver Nuggets, Miami Heat, Oklahoma City Thunder, Utah Jazz |
2 |
Dallas Mavericks, Los Angeles Clippers, Minnesota Timberwolves, New York Knicks, Portland Trail Blazers, Sacramento Kings, Washigton Wizards |
1 |
Como dito anteriormente, alguns jogadores conseguiram realizar a façanha de ganhar múltiplas vezes o prêmio de MVP da NBA, um deles é o astro Giannis Antetokounmpo, que venceu 2 vezes seguidas (2019 e 2020), outro exemplo, mais raro ainda é o do jogador Michael Jordan, considerado o melhor jogador de basquetebol de todos os tempos, que possui 5 prêmios de MVP (1988, 1991, 1992, 1996 e 1998).
Na Figura abaixo é apresentado os 5 maiores vencedores do MVP da temporada regular da NBA. Kareem-Abdul-Jabbar ganhou 6 MVPs, sendo o seu último conquistado no ano de 1980, desde lá, ninguém conseguiu superar tal marca.
A Tabela abaixo mostra todos os jogadores que já venceram o prêmio de MVP da temporada regular da NBA.
Concluí-se que o nome do jogador neste caso não importaria tanto para utilizarmos como atributo relevante para criarmos o nosso modelo de machine learning, já que qualquer jogador pode se superar em uma temporada e conseguir se tornar o melhor jogador da liga. Não é o nome em si, mas sim os seus números nos fundamentos do jogo que importam para um atleta ser eleito MVP.
Jogador | MVPs |
---|---|
Kareem Abdul-Jabbar | 6 |
Bill Russell, Michael Jordan |
5 |
LeBron James, Wilt Chamberlain |
4 |
Larry Bird, Magic Johnson, Moses Malone |
3 |
Bob Pettit, Giannis Antetokounmpo, Karl Malone, Nikola Jokic, Steve Nash, Stephen Curry, Tim Duncan |
2 |
Allen Iverson, Bill Walton, Bob Cousy, Bob McAdoo, Charles Barkley, David Cowens, David Robinson, Derrick Rose, Dirk Nowitzki, Hakeem Olajuwon, James Harden, Julius Erving, Kevin Durant, Kevin Garnett, Kobe Bryant, Oscar Robertson, Russell Westbrook, Shaquille O'Neal, Westley Unseld, Willis Reed |
1 |
Um ultimo fator a se considerar é se a posição do jogador em quadra é relevante ou se beneficia os jogadores a ganharem o prêmio de MVP. A Figura abaixo mostra tal relação, onde os índices: C, PG, SF, PF e SG, significam Center, Point-Guard, Shooting-Forward, Power-Foward e Shooting-Guard, respectivamente, sendo aqui no Brasil traduzido como: Pivô, Armador, Ala, Ala-Pivô e Ala-Armador, respectivamente.
Olhando a Figura acima nota-se que o atributo posição é substancial, 31 jogadores que ganharam o MVP são ou eram da posição de pivô ou center, a segunda posição que mais se beneficia é a posição de armador ou Point Guard. Portanto, para treinar o modelo, o atributo posição deveria ser utilizado, onde a posição "C" possui mais chances do que a posição "SG", por exemplo. Porém, fazer o scrape dos dados no site oficial da NBA (Link no script nbastats.py), consta muitos valores de fundamentos dos jogadores, mas não fornece a posição de todos. Seria um trabalho bastante maçante tentar automatizar esse processo, logo, nesse primeiro momento tal atributo será descartado. Se os modelos não ficarem bons com outros atributos, posso tentar recorrer ao atributo posição.
Os dados extraídos não constam com todos os anos em que houve premiação da NBA, pois, no site da NBA existem dados oficiais a partir da temporada 1996-1997, logo, foi possível extrair dados das últimas 26 temporadas, portanto, o dataset criado não possui muitos dados e o mesmo está desbalanceado. A ideia por trás da extração e preparação dos dados é em virtude do MVP da temporada regular estar entre os 15 maiores cestinha da temporada, com exceção para Steve Nash em 2005 e 2006. Ou seja, das últimas 26 vezes que o prêmio de MVP foi dado a um atleta, apenas dois destes não estavam entre os 15 maiores pontuadores da temporada regular, logo, achei relevante usar este fato como ponto central da minha modelagem.
As métricas utilizadas para este problema são: recall, precisão e f1 score, com enfâse no valor do recall (para uma dada precisão) já que estou dando mais importância para o falsos negativos (FN).
PS: Esta versão consta com a exclusão da feature (Min) e a inclusão de uma nova feature (WIN%), que era difícil de extrair da internet, porém, foi realizado a extração e junção dos valores e o código pode ser encontrado na pasta /scraping.
A razão para retirar a feature 'Min' é em virtude da minutagem em quadra dos jogadores ter diminuído com o tempo, tendência que pode ser observada em vários outros esportes. A diminuição dos minutos em quadra dos jogadores da NBA é em virtude da preservarção da integridade física para aguentar os diversos jogos da temporada. O Gráfico abaixo mostra a relação dos valores para as classes 0 (Não-MVP) e 1 (MVP):
Apenas olhando este valor, poderia-se esperar que os minutos por jogo poderia ser uma feature importante para a classificação deste projeto, mas olhando os valores e comparando dados de 1997 até os dias de hoje com os valores de minutos por jogo para anos anteriores a 1997, chegamos ao gráfico abaixo:
Nota-se que a mediana para valores anteriores à 1997, está entre 39 a 40 minutos por jogo e cerca de 75% dos jogadores para esta época jogaram abaixo de 44 minutos por jogo. Já para valores após o ano de 1997, a mediana tanto para classes 0 e 1 estão próximas e em torno de 37 a 38 minutos por jogo. Além disso, 75% dos jogadores desta época jogaram abaixo de 39 minutos por jogo. Para se ter uma noção, um jogo da NBA possui 48 minutos do período regular, em caso de empates, existe 5 min de prorrogação e se houver empates na prorrogação mais 5 minutos são inseridos e assim por diante. Na temporada de 1961-62, Wilt Chamberlain obteve o valor médio de minutos por jogo de 48.5, ou seja, meio minuto a mais do que um jogo normal da nba. E a explicação para isso é que Wilt Chamberlain jogou todos os minutos regulares de todos os jogos da temporada e alguns jogos teve prorrogação e o mesmo jogou também, por isso a média maior do que 48 minutos por jogo, porém, tal prática parece-me impossível 60 anos depois, em razão dos motivos discutido acima.
Seguindo em frente, os atributos selecionados para a realização da predição foram: PTS, AST, REB, FG%, FT% e WIN%, onde:
- PTS : Média de pontos por jogo.
- AST : Média de assistência por jogo.
- REB : Média de rebotes por jogo.
- FG% : Percentual de arremessos convertidos.
- FT% : Percentual de lances livres convertidos.
- WIN% : Porcentagem de vitória pelo clube.
O atributo 3P% foi retirado do processo, pois para MVPs mais antigos, não existem dados oficiais desta característica.
Já foi realizada a primeira troca de modelo, o modelo anterior estava com a técnica SMOTE para tratar dos dados desbalanceados. Tal técnica hoje em dia está se mostrando mais não efetiva do que sim, logo, treinei outros modelos para poder tratar o desbalanceamento de outras formas.
Na pasta scripts/testes, existem as classes e métodos que foram construídas para a automação do processo de treinamento e escolha dos modelos. Para organizar os dados, foi utilizado o MLFlow que possui uma interface gráfica para a manutenção e visualização dos valores das métricas, hiperparâmetros e etc.
O processo de validação foi com a validação cruzada, já que o dataset coletado é pequeno, ou seja, separei o conjunto dos dados entre treino e teste, usando a validação cruzada no conjunto de treino para realizar a classificação dos modelos.
De início, para achar o melhor modelo baseline (sem penalização da classe majoritária e com hiperparâmetros default), foi realizada a validação cruzada para todos os algoritmos listados no arquivo results.py. O que possuiu o maior recall foi o modelo regressão logística, com f1 score igual à 65.89 %, onde utilizou o standard scaler para padronizar os dados.
Uma forma de acrescentar mais complexidade ao modelo é realizar a seleção das features e penalizar a classe majoritária, fazendo isso, houve uma melhora significativa. O melhor modelo novamente foi o SVC, com os seguintes valores:
- f1 score = 82.02 %
- recall = 92.00 %
- precisão = 73.69 %
Com isso, para alcançar um valor mais expressivo de f1 score, recall e precisão, houve a otimização dos hiperparâmetros com o GridSearchCV, já que não há muitos valores para hiperparâmetros do algoritmo SVC. Após a realização do tunning de hiperparâmetros, o resultado foi:
- f1 score = 83.34 %
- recall = 98.04 %
- precisão = 72.46 %
Os melhores hiperparâmetros para o classificador SVC foram os seguintes:
{C = 1, gamma = 0.1, kernel = 'rbf'}
Em comparação com o modelo anterior, que era uma regressão logística, o recall máximo atingido foi de 81.15%, com precição de 42% e f1 score de 55.31 %. Abaixo está uma tabela resumindo os valores para cada modelo:
Modelos |
Recall |
Precisão | F1 Score |
---|---|---|---|
LogisticRegression(class_weight="balanced", max_iter=100, C=0.01, solver='liblinear', penalty='l2') |
81.15% |
42.00% | 55.31 % |
SVC(class_weight='balanced') |
92.00% |
73.69% | 82.02% |
SVC(class_weight='balanced', C = 1, gamma = 0.1, kernel = 'rbf') |
98.04% | 72.46% |
83.34% |
É importante ressaltar a importância de utilizar e extrair as features mais importantes para o problema, apenas com a adição de uma nova feature (WIN%), que na vida real é importante para a classificação de um MVP da NBA, houve uma melhora interessante no valor do recall e precisão.
Com isso, foi utilizado o conjunto de teste no modelo preditivo final para esta versão. O resultado foi:
- f1 score = 81.93 %
- recall = 96.63 %
- precisão = 71.12 %
O resultado em comparação ao resultado da versão anterior (com a regressão logística) foi substancialmente melhor e por isso o mesmo será colocado em produção.
O deploy foi realizado na plataforma HuggingFace.co, para acessar basta entrar no link ao lado https://huggingface.co/spaces/ramonmedeiro1/NBA-MVP-PREDICTOR. Para montar a parte de design do aplicativo web, o gradio foi utilizado. A pasta deploy possui o que é necessário para deploy do projeto.
Esta seção visa comparar os resultados obtidos pelo modelo realizado nesse projeto e resultados liberados pela comunidade e pela própria NBA para o ranking de jogadores que estão disputando para MVP.
A pasta "compare" possui o script que irá realizar o scraping para obter os valores dos 30 melhores pontuadores da nba e classifica-los em um top 5 para fins de comparação.
- Mês 1:
# 4/11/2022:
NBA (NBA.com) ML
1 - Giannis Antetokounmpo (MIL) 1 - Donovan Mitchell (CLE)
2 - Luka Doncic (DAL) 2 - Giannis Antetokounmpo (MIL)
3 - Donovan Mitchell (CLE) 3 - Luka Doncic (DAL)
4 - Ja Morant (MEM) 4 - Nikola Jokic (DEN)
5 - Devin Booker (PHX) 5 - Jrue Holiday (MIL)
# 18/11/2022:
NBA.com ML
1 - Luka Doncic (DAL) 1 - Jayson Tatum (BOS)
2 - Jayson Tatum (BOS) 2 - Nikola Jokic (DEN)
3 - Giannis Antetokounmpo (MIL) 3 - Luka Doncic (DAL)
4 - Nikola Jokic (DEN) 4 - Giannis Antetokounmpo (MIL)
5 - Ja Morant (MEM) 5 - Tyrese Haliburton (IND)
- Mês 2:
# 04/12/2022:
NBA.com ML
1 - Jayson Tatum (BOS) 1 - Jayson Tatum (BOS)
2 - Luka Doncic (DAL) 2 - Nikola Jokic (DEN)
3 - Nikola Jokic (DEN) 3 - Giannis Antetokounmpo (MIL)
4 - Giannis Antetokounmpo (MIL) 4 - Luka Doncic (DAL)
5 - Devin Booker (PHX) 5 - Devin Booker (PHX)
# 16/12/2022:
NBA.com ML
1 - Jayson Tatum (BOS) 1 - Nikola Jokic (DEN)
2 - Giannis Antetokounmpo (MIL) 2 - Jayson Tatum (BOS)
3 - Nikola Jokic (DEN) 3 - Giannis Antetokounmpo (MIL)
4 - Ja Morant (MEM) 4 - Joel Embiid (PHI)
5 - Kevin Durant (BKN) 5 - Jaylen Brown (BOS)
6 - Luka Doncic (DAL) 6 - Luka Doncic (DAL)
7 - Zion Williamson (NOP) 7 - Kevin Durant (BKN)
8 - Joel Embiid (PHI) 8 - James Harden (BKN)
9 - Stephen Curry (GSW) 9 - Zion Williamson (NOP)
10 - Anthony Davis (LAL) 10 - Anthony Davis (LAL)
# 24/12/2022:
NBA.com ML
1 - Giannis Antetokounmpo (MIL) 1 - Nikola Jokic (DEN)
2 - Nikola Jokic (DEN) 2 - Joel Embiid (PHI)
3 - Jayson Tatum (BOS) 3 - Giannis Antetokounmpo (MIL)
4 - Kevin Durant (BKN) 4 - Jayson Tatum (BOS)
5 - Ja Morant (MEM) 5 - Kevin Durant (BKN)
6 - Zion Williamson (NOP) 6 - Luka Doncic (DAL)
7 - Luka Doncic (DAL) 7 - Tyrese Haliburton (IND)
8 - Joel Embiid (PHI) 8 - Zion Williamson (NOP)
9 - Donovan Mitchell (CLE) 9 - Donovan Mitchell (CLE)
10 - Devin Booker (PHX) 10 - Jaylen Brown (BOS)
- Mês 3:
# 02/01/2023:
NBA.com ML
1 - Nikola Jokic (DEN) 1 - Nikola Jokic (DEN)
2 - Jayson Tatum (BOS) 2 - Luka Doncic (DAL)
3 - Luka Doncic (DAL) 3 - Joel Embiid (PHI)
4 - Kevin Durant (BKN) 4 - Giannis Antetokounmpo (MIL)
5 - Giannis Antetokounmpo (MIL) 5 - Kevin Durant (BKN)
6 - Joel Embiid (PHI) 6 - Jayson Tatum (BOS)
7 - Zion Williamson (NOP) 7 - Tyrese Haliburton (IND)
8 - Ja Morant (MEM) 8 - Zion Williamson (NOP)
9 - Jaylen Brown (BOS) 9 - Jaylen Brown (BOS)
10 - Donovan Mitchell (CLE) 10 - Bam Adebayo (MIA)
# 13/01/2023:
NBA.com ML
1 - Nikola Jokic (DEN) 1 - Nikola Jokic (DEN)
2 - Luka Doncic (DAL) 2 - Jayson Tatum (BOS)
3 - Jayson Tatum (BOS) 3 - Joel Embiid (PHI)
4 - Giannis Antetokounmpo (MIL) 4 - Luka Doncic (DAL)
5 - Joel Embiid (PHI) 5 - Kevin Durant (BKN)
6 - Kevin Durant (BKN) 6 - Giannis Antetokounmpo (MIL)
7 - Ja Morant (MEM) 7 - Jaylen Brown (BOS)
8 - Donovan Mitchell (CLE) 8 - Ja Morant (MEM)
9 - Jaylen Brown (BOS) 9 - Zion Williamson (NOP)
10 - Shai Gilgeous-Alexander (OKC) 10 - Bam Adebayo (MIA)
# 20/01/2023:
NBA.com ML
1 - Nikola Jokic (DEN) 1 - Nikola Jokic (DEN)
2 - Jayson Tatum (BOS) 2 - Jayson Tatum (BOS)
3 - Joel Embiid (PHI) 3 - Joel Embiid (PHI)
4 - Luka Doncic (DAL) 4 - Giannis Antetokounmpo (MIL)
5 - Giannis Antetokounmpo (MIL) 5 - Luka Doncic (DAL)
6 - Ja Morant (MEM) 6 - Kevin Durant (BKN)
7 - Kevin Durant (BKN) 7 - James Harden (PHI)
8 - Donovan Mitchell (CLE) 8 - Jaylen Brown (BOS)
9 - Shai Gilgeous-Alexander (OKC) 9 - Ja Morant (MEM)
10 - Jaylen Brown (BOS) 10 - Zion Williamson (NOP)
# 27/01/2023:
NBA.com ML
1 - Nikola Jokic (DEN) 1 - Nikola Jokic (DEN)
2 - Joel Embiid (PHI) 2 - Joel Embiid (PHI)
3 - Jayson Tatum (BOS) 3 - Jayson Tatum (BOS)
4 - Giannis Antetokounmpo (MIL) 4 - Giannis Antetokounmpo (MIL)
5 - Luka Doncic (DAL) 5 - Luka Doncic (DAL)
6 - Kevin Durant (BKN) 6 - James Harden (PHI)
7 - Ja Morant (MEM) 7 - Kevin Durant (BKN)
8 - James Harden (PHI) 8 - Jaylen Brown (BOS)
9 - Domantas Sabonis (SAC) 9 - Bam Adebayo (MIA)
10 - Julius Randle (NYK) 10 - Julius Randle (NYK)
- Mês 4 (Fevereiro):
# 03/02/2023:
NBA.com ML
1 - Nikola Jokic (DEN) 1 - Nikola Jokic (DEN)
2 - Joel Embiid (PHI) 2 - Joel Embiid (PHI)
3 - Giannis Antetokounmpo (MIL) 3 - Jayson Tatum (BOS)
4 - Jayson Tatum (BOS) 4 - Giannis Antetokounmpo (MIL)
5 - Luka Doncic (DAL) 5 - Luka Doncic (DAL)
6 - Kevin Durant (BKN) 6 - Kevin Durant (BKN)
7 - James Harden (PHI) 7 - James Harden (PHI)
8 - Domantas Sabonis (SAC) 8 - Jaylen Brown (BOS)
9 - Julius Randle (NYK) 9 - Bam Adebayo (MIA)
10 - Ja Morant (MEM) 10 - Lebron James (LAL)
- Mês 5 (Março):
# 18/03/2023:
NBA.com ML
1 - Joel Embiid (PHI) 1 - Nikola Jokic (DEN)
2 - Nikola Jokic (DEN) 2 - Joel Embiid (PHI)
3 - Giannis Antetokounmpo (MIL) 3 - Giannis Antetokounmpo (MIL)
4 - Jayson Tatum (BOS) 4 - Jayson Tatum (BOS)
5 - Luka Doncic (DAL) 5 - Luka Doncic (DAL)
6 - Domantas Sabonis (SAC) 6 - James Harden (PHI)
7 - Julius Randle (NYK) 7 - Jaylen Brown (BOS)
8 - Shai Gilgeous-Alexander (OKC) 8 - Damian Lillard (POR)
9 - James Harden (PHI) 9 - Julius Randle (NYK)
10 -Devin Booker (PHX) 10 - Trae Young (ATL)
# 24/03/2023:
NBA.com ML
1 - Joel Embiid (PHI) 1 - Nikola Jokic (DEN)
2 - Nikola Jokic (DEN) 2 - Joel Embiid (PHI)
3 - Giannis Antetokounmpo (MIL) 3 - Giannis Antetokounmpo (MIL)
4 - Jayson Tatum (BOS) 4 - Jayson Tatum (BOS)
5 - Luka Doncic (DAL) 5 - James Harden (PHI)
6 - Domantas Sabonis (SAC) 6 - Luka Doncic (DAL)
7 - Julius Randle (NYK) 7 - Anthony Davis (LAL)
8 - Shai Gilgeous-Alexander (OKC) 8 - Jaylen Brown (BOS)
9 - James Harden (PHI) 9 - Damian Lillard (POR)
10 - Damian Lillard (POR) 10 - Bam Adebayo (MIA)
# 31/03/2023:
NBA.com ML
1 - Nikola Jokic (DEN) 1 - Nikola Jokic (DEN)
2 - Joel Embiid (PHI) 2 - Joel Embiid (PHI)
3 - Giannis Antetokounmpo (MIL) 3 - Giannis Antetokounmpo (MIL)
4 - Jayson Tatum (BOS) 4 - Jayson Tatum (BOS)
5 - Domantas Sabonis (SAC) 5 - James Harden (PHI)
6 - Luka Doncic (DAL) 6 - Luka Doncic (DAL)
7 - Shai Gilgeous-Alexander (OKC) 7 - Anthony Davis (LAL)
8 - Julius Randle (NYK) 8 - Jaylen Brown (BOS)
9 - James Harden (PHI) 9 - Damian Lillard (POR)
10 - Jimmy Butler (MIA) 10 - Stephen Curry (GSW)
- Mês 6 (Abril):
# 07/04/2023:
NBA.com ML
1 - Joel Embiid (PHI) 1 - Nikola Jokic (DEN)
2 - Nikola Jokic (DEN) 2 - Joel Embiid (PHI)
3 - Giannis Antetokounmpo (MIL) 3 - Giannis Antetokounmpo (MIL)
4 - Jayson Tatum (BOS) 4 - Jayson Tatum (BOS)
5 - Domantas Sabonis (SAC) 5 - James Harden (PHI)
6 - Luka Doncic (DAL) 6 - Luka Doncic (DAL)
7 - Shai Gilgeous-Alexander (OKC) 7 - Kevin Durant (PHX)
8 - James Harden (PHI) 8 - Anthony Davis (LAL)
9 - Julius Randle (NYK) 9 - Jaylen Brown (BOS)
10 - Kevin Durant (PHX) 10 - Bam Adebayo (MIA)
# 08/04/2023:
NBA.com ML
1 - Joel Embiid (PHI) 1 - Nikola Jokic (DEN)
2 - Nikola Jokic (DEN) 2 - Joel Embiid (PHI)
3 - Giannis Antetokounmpo (MIL) 3 - Giannis Antetokounmpo (MIL)
4 - Jayson Tatum (BOS) 4 - Jayson Tatum (BOS)
5 - Domantas Sabonis (SAC) 5 - James Harden (PHI)
6 - Luka Doncic (DAL) 6 - Luka Doncic (DAL)
7 - Shai Gilgeous-Alexander (OKC) 7 - Anthony Davis (LAL)
8 - James Harden (PHI) 8 - Kevin Durant (PHX)
9 - Julius Randle (NYK) 9 - Jaylen Brown (BOS)
10 - Kevin Durant (PHX) 10 - Damian Lillard (POR)
Assim como na própria oredição da NBA, os três finalistas para a disputa para vencer o MVP da NBA, foram os mesmos preditos pela a máquina preditiva deste projeto. Algo que é um acerto imenso. Abaixo segue a chance segundo a IA deste projeto, a probabilidade de cada um vencer o prêmio de MVP:
- Jokic com 36.97 %
- Embiid com 33.84 %
- Giannis com 29.20 %
O presente projeto será supervisionado para a manutenção com o decorrer do tempo. Para entrar em contato para tratar de bugs ou coisas do tipo, mandar email para o seguinte endereço: r.medeiro10@gmail.com.