Nowadays, more and more people are zealous about basketball, and become interested in gambling on the winner of an upcoming NBA game. Our program applies basic machine learning algorithms and statistical models to predict the most likely winner of a future NBA game based on the database of last year NBA regular season games for 30 NBA teams. It can help basketball teams to enhance their strength in these aspects and become more competitive. It is also fun for the public for their choice of gambling.

How we built it

From our previous observations, we found out 6 possibly most important factors influencing the success in a NBA basketball game.

  1. Effective Field Goal Percentage (EFG%)
  2. Turnover Rate (TOV%)
  3. Offensive Rebounding Percentage (OREB%)
  4. Free Throw Rate (FTR)
  5. Rank
  6. Team Total Salary

Thus, in our database, we recorded the relative advantage of two participant teams (denoted as team A and team B) as a Boolean variable (1 for A is higher, 0 for B is higher) and the result of the game.

We try to apply Naïve Bayes theorem to train the machine learning model about our dataset and predict the most likely winner in a future NBA game. We also integrate Laplace Smoothing to avoid outliers.

The algorithm is written in java, and the data base is saved as a csv file and can be updated by users.

What's next for NBA Game Prediction by Machine Learning

In the future, we can gather more and more NBA game information to update our data base and find more factors influencing the result of a NBA game using statistical models. The most fascinating aspect is that the statistics model can be trained by itself to become stronger, and give us more precise predictions in the future.

Furthermore, we can have many database in different areas. Thus, this idea can be generalized and used in other fields like football gambling, movie recommendations, decision-making, etc.

Built With

+ 4 more
Share this project: