Inspiration
I've always tried to predict NBA players who will become breakout stars in the future. This is usually an eye-test situation and hoping that my ball knowledge works. I might look at stats but other than the basic (PPG, ASTS, REBS) stats there wasn't much driving my intuition in guessing these players.
I wanted to use ML to see not only if I could predict year 5 PPG stats but also to figure out which stats correlate most to scoring as a player gets older. Maybe my team (Miami) can use this to get and keep an underground roleplayer who blossoms into a star one day.
What it does
I basically run two methodologies of ML models to predict a player's year 5 score. I then used basic stats and K-Means Clustering to group players into categories. The basic path uses XGBoost vs Random Forest on one iteration of train/test data. The advanced path has more features to use as a parameters and hypertunes the models based on lowest MAE error.
How we built it
I used python and nba_api to get the data collection and used google colab to run and train my models. The frontend was done on streamlit.
Challenges we ran into
The NBA_API would miss players with asteriks and symbols in their name so I had to create a bypass around that as well as not timeout when requesting data for over 400+ players. The ML model's, even with hypertuning the parameters, would return a high MAE and I was looking for ways to reduce this.
Accomplishments that we're proud of
I'm proud of having run a real ML model with data and getting actionable results. The frontend using streamlit came out very well designed and can be used for future nba projects.
What we learned
I learned important techniques in ML analysis and how to predict points for NBA players in the future. Reading up on things like using K-Means Clustering to then predict points based on archetype was a new insight I had failed to consider before this project.
What's next for NBA ARC
Turning this into a solutions system that can help NBA teams predict the next stars for their roster.
Log in or sign up for Devpost to join the conversation.