Cal Mitchell
commited on
Commit
•
7a4fc48
1
Parent(s):
5f26252
fixed mistake
Browse files- README.md +21 -3
- celtics-at-home-no-jokic.png +0 -0
- celtics-at-home-no-tatum.png +0 -0
- celtics-at-home.png +0 -0
- denver-at-home-no-jokic.png +0 -0
- denver-at-home-no-tatum.png +0 -0
- denver-at-home.png +0 -0
- example.ipynb +31 -32
- prediction.png +0 -0
- take-tatum-off-team.png +0 -0
README.md
CHANGED
@@ -1,12 +1,30 @@
|
|
1 |
# NBA Predictions
|
2 |
|
3 |
-
This repo contains AI model code and weights which predicts the outcome of NBA games. Its output represents the chance that
|
|
|
|
|
4 |
|
5 |
The model requires 8 players on the home and away teams, plus their ages, as input. It will then output probabilities for each point spread between -20 and +20 points, from the home team's point of view.
|
6 |
|
7 |
-
For example, the following text and chart
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
-
![
|
10 |
|
11 |
## Installation
|
12 |
|
|
|
1 |
# NBA Predictions
|
2 |
|
3 |
+
This repo contains AI model code and weights which predicts the outcome of NBA games. Its output represents the chance that given point spreads will occur.
|
4 |
+
|
5 |
+
## Intro
|
6 |
|
7 |
The model requires 8 players on the home and away teams, plus their ages, as input. It will then output probabilities for each point spread between -20 and +20 points, from the home team's point of view.
|
8 |
|
9 |
+
For example, the following text and chart represents the model's opinion on the Boston Celtics vs the Denver Nuggets. A matchup I am personally terrified of as a Celtics fan.
|
10 |
+
|
11 |
+
Let's start with both teams at pretty much full strength, with the Celtics at home. In this example, the model predicts the celtics to win around 3 in every 4 games, with a 14% chance of the Celtics winning by 20 or more.
|
12 |
+
|
13 |
+
![Full strength Celtics vs full strength Denver. Celtics at home.](celtics-at-home.png)
|
14 |
+
|
15 |
+
Let's flip the location and see what the model thinks would happen if the Celtics had to travel to Denver. Interestingly, the Model now favors Denver to win with 55% confidence.
|
16 |
+
|
17 |
+
![Full strength Celtics vs full strength Denver. Denver at home.](denver-at-home.png)
|
18 |
+
|
19 |
+
Now here's the really fun part - mixing and matching players. Most people would say Jokic is the best player in the league at the time of writing, and Tatum is a notch below him. A lot of people would also say that the Celtics are an incredibly deep team, as far as their starters are concerned, while the Nuggets are a bit more reliant on their top stars.
|
20 |
+
|
21 |
+
All of this is to say that taking Jokic off the Nuggets should have more of an effect than taking Tatum off the Celtics. The chart below shows Denver at home, without Jokic in the lineup. He has been replaced by Peyton Watson. As you can see, Denver's win percentage dropped by 13%.
|
22 |
+
|
23 |
+
![Celtics ful strength vs Denver without Jokic. Denver at home.](denver-at-home-no-tatum.png)
|
24 |
+
|
25 |
+
Let's keep the game in Denver, put the Nuggets back at full strength, and replace Tatum with Pritchard. As you can see, the Nuggets are now projected to win 66% of the time. That sounds about right to me!
|
26 |
|
27 |
+
![Celtics without Tatum vs full strength Denver. Celtics at home.](denver-at-home-no-tatum.png)
|
28 |
|
29 |
## Installation
|
30 |
|
celtics-at-home-no-jokic.png
ADDED
celtics-at-home-no-tatum.png
ADDED
celtics-at-home.png
ADDED
denver-at-home-no-jokic.png
ADDED
denver-at-home-no-tatum.png
ADDED
denver-at-home.png
ADDED
example.ipynb
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
-
"execution_count":
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
@@ -38,40 +38,14 @@
|
|
38 |
},
|
39 |
{
|
40 |
"cell_type": "code",
|
41 |
-
"execution_count":
|
42 |
-
"metadata": {},
|
43 |
-
"outputs": [],
|
44 |
-
"source": [
|
45 |
-
"# Change player and age tokens here!\n",
|
46 |
-
"# You can find these values in player_tokens.csv and age_tokens.csv\n",
|
47 |
-
"# You must provide exactly 8 player tokens and 8 age tokens for each team.\n",
|
48 |
-
"\n",
|
49 |
-
"# Boston Celtics final game of 2023-24 season roster\n",
|
50 |
-
"home_player_tokens = [1994, 5039, 5027, 4981, 4972, 5004, 4416, 4983]\n",
|
51 |
-
"home_age_tokens = [11, 12, 19, 14, 23, 11, 13, 13]\n",
|
52 |
-
"\n",
|
53 |
-
"# Dallas Mavericks final game of 2023-24 season roster\n",
|
54 |
-
"away_player_tokens = [5117, 5097, 4956, 5109, 55, 149, 5121, 5112]\n",
|
55 |
-
"away_age_tokens = [10, 17, 10, 12, 10, 5, 8, 17]\n",
|
56 |
-
"\n",
|
57 |
-
"# The model usually gives the home team a bump in win probability.\n",
|
58 |
-
"# Change this to \"True\" to swap home and away teams.\n",
|
59 |
-
"swap_home_away = False\n",
|
60 |
-
"if swap_home_away:\n",
|
61 |
-
" home_player_tokens, away_player_tokens = away_player_tokens, home_player_tokens\n",
|
62 |
-
" home_age_tokens, away_age_tokens = away_age_tokens, home_age_tokens"
|
63 |
-
]
|
64 |
-
},
|
65 |
-
{
|
66 |
-
"cell_type": "code",
|
67 |
-
"execution_count": 3,
|
68 |
"metadata": {},
|
69 |
"outputs": [
|
70 |
{
|
71 |
"name": "stdout",
|
72 |
"output_type": "stream",
|
73 |
"text": [
|
74 |
-
"Home team win probability: 0.
|
75 |
]
|
76 |
},
|
77 |
{
|
@@ -80,13 +54,13 @@
|
|
80 |
"<BarContainer object of 40 artists>"
|
81 |
]
|
82 |
},
|
83 |
-
"execution_count":
|
84 |
"metadata": {},
|
85 |
"output_type": "execute_result"
|
86 |
},
|
87 |
{
|
88 |
"data": {
|
89 |
-
"image/png": "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",
|
90 |
"text/plain": [
|
91 |
"<Figure size 640x480 with 1 Axes>"
|
92 |
]
|
@@ -96,7 +70,32 @@
|
|
96 |
}
|
97 |
],
|
98 |
"source": [
|
99 |
-
"#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
"\n",
|
101 |
"assert len(home_player_tokens) == players_per_team\n",
|
102 |
"assert len(home_age_tokens) == players_per_team\n",
|
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
+
"execution_count": 7,
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
|
|
38 |
},
|
39 |
{
|
40 |
"cell_type": "code",
|
41 |
+
"execution_count": 18,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
"metadata": {},
|
43 |
"outputs": [
|
44 |
{
|
45 |
"name": "stdout",
|
46 |
"output_type": "stream",
|
47 |
"text": [
|
48 |
+
"Home team win probability: 0.66\n"
|
49 |
]
|
50 |
},
|
51 |
{
|
|
|
54 |
"<BarContainer object of 40 artists>"
|
55 |
]
|
56 |
},
|
57 |
+
"execution_count": 18,
|
58 |
"metadata": {},
|
59 |
"output_type": "execute_result"
|
60 |
},
|
61 |
{
|
62 |
"data": {
|
63 |
+
"image/png": "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VVJSoo8++mhwGx0A6enp5x2jtWvXhrutkFVVVSk9PV3x8fHKycnRvn37wt3SJfvOd75z3jGaMmVKuNsK2R/+8Ad99atfVWpqqqKios57cK0xRmVlZRo3bpxGjBihvLw8HT58ODzNBqmvsX3jG98471jOnz8/PM0GqaKiQrNnz9bVV1+tsWPHqqCgQIcOHfKrOXv2rJYuXarRo0frqquu0r333nvezWAHC4Gln9588015vV796Ec/0uuvv65nn31W1dXVWrVqla+ms7NT8+bN04QJE9TU1KR169bpO9/5ju+eM7br6enRggUL9PDDD1+0buvWrXr//fd9y1C4X05fY+vt7VV+fr56enrU2Nion/zkJ3r++edVVlY2yJ0OjO9+97t+x2j58uXhbikk27dvl8vlUnl5uZqbm5WRkSGn06n29vZwt3bJPv/5z/sdoz/+8Y/hbilkXV1dysjIUFVVVcCvP/300/r+97+v6upqvfrqqxo5cqScTqfOnj07yJ0Gr6+xSdL8+fP9juUvf/nLQewwdHv37tXSpUv1yiuvqK6uTufOndO8efPU1dXlq/nWt76l3/3ud9qxY4f27t2r48eP65577glPw30+bQgX9PTTT5uJEyf6Xv/gBz8w11xzjenu7vate/zxx83kyZPD0V7Itm7dapKSkgJ+TZJ54YUXBrWfgXShse3Zs8dER0cbj8fjW/fDH/7QJCYm+h3PoWDChAnm2WefDXcbAyI7O9ssXbrU97q3t9ekpqaaioqKMHZ16crLy01GRka427gs/u/vCK/XaxwOh1m3bp1v3alTp0xcXJz55S9/GYYOQxfo919RUZG56667wtLPQGtvbzeSzN69e40xHx+n4cOHmx07dvhq3njjDSPJuN3uQe+PGZZL0NHRoWuvvdb32u1269Zbb1VsbKxvndPp1KFDh/S///u/4Wjxsli6dKmSk5OVnZ2tLVu29O+x4JZzu92aMWOG7waI0sfHrrOzU6+//noYOwvN2rVrNXr0aN10001at27dkPxoq6enR01NTcrLy/Oti46OVl5entxudxg7GxiHDx9WamqqbrjhBn39619Xa2truFu6LN555x15PB6/45iUlKScnJyIOI6S1NDQoLFjx2ry5Ml6+OGH9fe//z3cLYWko6NDknx/15qamnTu3Dm/YzdlyhRdf/31YTl2Q/JpzTZ4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",
|
64 |
"text/plain": [
|
65 |
"<Figure size 640x480 with 1 Axes>"
|
66 |
]
|
|
|
70 |
}
|
71 |
],
|
72 |
"source": [
|
73 |
+
"# Change player and age tokens here!\n",
|
74 |
+
"# You can find these values in player_tokens.csv and age_tokens.csv\n",
|
75 |
+
"# You must provide exactly 8 player tokens and 8 age tokens for each team.\n",
|
76 |
+
"\n",
|
77 |
+
"# Denver Nuggets first game of 2023-24 season roster\n",
|
78 |
+
"home_player_tokens = [5035, 4298, 4626, 4690, 4750, 5082, 4286, 4311]\n",
|
79 |
+
"home_age_tokens = [14, 16, 13, 12, 10, 19, 8, 8]\n",
|
80 |
+
"\n",
|
81 |
+
"# Uncomment to take Jokic off team, replace with Peyton Watson\n",
|
82 |
+
"# home_player_tokens = [4331, 4298, 4626, 4690, 4750, 5082, 4286, 4311]\n",
|
83 |
+
"# home_age_tokens = [6, 16, 13, 12, 10, 19, 8, 8]\n",
|
84 |
+
"\n",
|
85 |
+
"# Boston Celtics final game of 2023-24 season roster\n",
|
86 |
+
"away_player_tokens = [5042, 5039, 5027, 4981, 4972, 5004, 4416, 4983]\n",
|
87 |
+
"away_age_tokens = [11, 12, 19, 14, 23, 11, 13, 13]\n",
|
88 |
+
"\n",
|
89 |
+
"# Uncomment to take Tatum off team, replace with Pritchard\n",
|
90 |
+
"away_player_tokens = [4999, 5039, 5027, 4981, 4972, 5004, 4416, 4983]\n",
|
91 |
+
"away_age_tokens = [11, 12, 19, 14, 23, 11, 13, 13]\n",
|
92 |
+
"\n",
|
93 |
+
"# The model usually gives the home team a bump in win probability.\n",
|
94 |
+
"# Change this to \"True\" to swap home and away teams.\n",
|
95 |
+
"swap_home_away = False\n",
|
96 |
+
"if swap_home_away:\n",
|
97 |
+
" home_player_tokens, away_player_tokens = away_player_tokens, home_player_tokens\n",
|
98 |
+
" home_age_tokens, away_age_tokens = away_age_tokens, home_age_tokens\n",
|
99 |
"\n",
|
100 |
"assert len(home_player_tokens) == players_per_team\n",
|
101 |
"assert len(home_age_tokens) == players_per_team\n",
|
prediction.png
CHANGED
take-tatum-off-team.png
ADDED