Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A project to deploy an online app that predicts the win probability for each NBA game every day. Demonstrates end-to-end Machine Learning deployment.
| Date | Stars |
|---|---|
| 2026-07-31 | 307 |
| 2026-08-06 | 308 |
Today
+1 stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center">
<h1>NBA Game Predictor Project</h1>
<i>Click <a href="https://cmunch1-nba-prediction.streamlit.app/">HERE</a> to see it in action</i>
</div>
<br />
<div align="center">
<sub>Let's connect 🤗</sub>
<br />
<a href="https://twitter.com/curiovana">Twitter</a> •
<a href="https://www.linkedin.com/in/chris-munch/">LinkedIn</a>
<br />
</div>

Project Repository: [https://github.com/cmunch1/nba-prediction](https://github.com/cmunch1/nba-prediction)
NOTE: As of October 2024, I am temporarily removing Hopsworks feature store and model registry from this project until it becomes more stable.
#### Table of contents
- [Introduction](#introduction)
- [Problem](#problem-increase-the-profitability-of-betting-on-nba-games)
- [Initial step](#initial-step-predict-the-probability-that-the-home-team-will-win-each-game)
- [Plan](#plan)
- [Overview](#overview)
- [Future Possibilities](#future-possibilities)
- [Structure](#structure)
- [Data](#data)
- [EDA and data processing](#eda-and-data-processing)
- [Train/validation/test split](#train--testvalidation-split)
- [Baseline models](#baseline-models)
- [Feature engineering](#feature-engineering)
- [Model training/testing](#model-training-pipeline)
- [Streamlit app](#streamlit-app)
- [Model Performance](#model-performance)
- [Feedback](#feedback)
- [Acknowledgements](#acknowledgements)
## Introduction ##
This project is a demonstration of my ability to quickly learn, develop, and deploy end-to-end machine learning technologies. I am currently seeking to change careers into Machine Learning / Data Science. (This is still kind of a work in progress - I wanted to get the end-to-end process setup, and then go back and iterate improvements, which I am constantly doing now.)
I chose to predict the winner of NBA games because:
- multiple games are played every day during the season so I can see how my model performs on a daily basis
- picking a game winner is easy for a casual audience to understand and appreciate
- there is a lot of data available
- it can be used to make money (via betting strategies). I have always been interested in making money.
I am actually not really a big fan of the NBA but have watched a few games and have basic knowledge. I have never done any sports betting either, but I have always loved exploration and discovery; the possibility of maybe finding something that somebody else has "missed" is very appealing to me, especially in terms of competition and of making money
## Problem: Increase the profitability of betting on NBA games
### Initial Step: Predict the probability that the home team will win each game
Machine learning classification models will be used to predict the probability of the winner of each game based upon historical data. This is a first step in developing a betting strategy that will increase the profitability of betting on NBA games.
*Disclaimer*
In reality, a betting strategy is a rather complex problem with many elements beyond simply picking the winner of each game. Huge amounts of manpower and money have been invested in developing such strategies, and it is not likely that a learning project will be able to compete very well with such efforts. However, it may provide an extra element of insight that could be used to improve the profitability of an existing betting strategy.
### Plan
- Gradient boosted tree models (Xgboost and LightGBM) will be utilized to determine the probability that the home team will win each game.
- The model probability will be calibrated against the true probability distribution using sklearn's CalibratedClassifierCV.
- The probability of winning will be important in developing betting strategies because such strategies will not bet on every game, just on games with better expected values.
- Pipelines will be setup to scrape new data from NBA website every day and retrain the model when desired.
- The model will be deExcerpt of 15,458 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:48aba9d09eb84c88, llm:Repository topics and description: 'nba-prediction', 'machine-learning', 'data-science', 'lgbm', 'xgboost', 'optuna', 'streamlit-webapp', 'webscraping'. Readme describes an end-to-end ML project that trains models to predict NBA game win probability and deploys a Streamlit app.
matched fp:48aba9d09eb84c88, llm:Repository topics and description: 'nba-prediction', 'machine-learning', 'data-science', 'lgbm', 'xgboost', 'optuna', 'streamlit-webapp', 'webscraping'. Readme describes an end-to-end ML project that trains models to predict NBA game win probability and deploys a Streamlit app.
matched fp:48aba9d09eb84c88, llm:Repository topics and description: 'nba-prediction', 'machine-learning', 'data-science', 'lgbm', 'xgboost', 'optuna', 'streamlit-webapp', 'webscraping'. Readme describes an end-to-end ML project that trains models to predict NBA game win probability and deploys a Streamlit app.
matched fp:48aba9d09eb84c88, llm:Repository topics and description: 'nba-prediction', 'machine-learning', 'data-science', 'lgbm', 'xgboost', 'optuna', 'streamlit-webapp', 'webscraping'. Readme describes an end-to-end ML project that trains models to predict NBA game win probability and deploys a Streamlit app.