We love basketball and thought it would be fun to attempt to predict the upcoming playoffs!
What it does
It predicts the results of both the Eastern and Western Conference Playoffs, as well as the overall NBA champion for the 2018-19 season.
How we built it
We used team statistics to calculate a win score for each game. Using those win scores, we trained 4 different Machine Learning classification algorithms with previous season's game data before testing it with the results of the 2018 NBA playoffs. Then, we chose the most accurate classification algorithm based on error rates, and finally, we created brackets for the playoffs using the top 8 teams in each conference.
Challenges we ran into
Playoff seedings won't happen until the end of the regular season on April 10th, so we just used the current top 8 teams in each conference. The actual teams that make it may change in the next 3 days. In addition, we struggled on choosing the algorithm that would determine the win score due to the many different statistics available. We first tried a combination of multiple offensive and defensive stats, and calculated a score using weights we determined for those stats based on what we felt were important in determining the outcome of the game. After we decided that algorithm was not accurate enough, we tried creating scores based solely of defensive, and then offensive stats. However, using only one part of the game did not prove to be accurate either, so we had to start over a third time in deciding how to calculate our win score per game. Another challenge we ran into was that there we could not find any publicly available datasets for NBA game analysis, so we had to create our own using websites such as ESPN. As a result, we could not have as many data points as we would have liked. It is also difficult to determine the winner of a game based on just team statistics, so hopefully if we have more time, we can adapt our equation to include other details such as player statistics, injuries, win streak, game pace, and time on the road.
Accomplishments that we're proud of
After researching for a while, we finally figured out how to determine the win score per matchup. We created a difference between the home team and opponent by calculating the efficiency differentials per team using their offensive and defensive efficiencies. We then determined which team had a higher efficiency and assigned them a '0' or '1' based on that. We also used a Pythagorean Winning Percentage to calculate an Expected win percentage for when two teams meet, and then took those two calculations and weighted them equally in order to find a win score for the home team when they play against that particular opponent.
What we learned
We learned more about analyzing and reading data. We also had the chance to implement different Machine Learning techniques and learned some basic data visualization.
What's next for NBA Playoff Prediction
Hopefully predicting the playoffs correctly! Also adapting it for next year's March Madness in order to create a good bracket.