NBA Champion Predictor was developed by myself, Bill Le (Engineering with Robotics, '27), and Rohan Bendapudi (ECE, '27) as the final project for our Linear Algebra class. It uses a Support Vector Machine and eigenvectors to classify NBA teams as "champion" worthy, and allowed us to correctly predict the Boston Celtics as the 2024 NBA champtions.Inspired by our final project, Rohan and I then pivoted to create NBA Game Predictor with the help of our friend Akshat Kumar. Using API calls to gather game data from the past few decades, we developed a series of machine learning models to predict the winner of an individual game. These models included: linear regression, random forests, k-nearest neighbor, DNN, GBGNN, and MDNN.Technical Components:
NBA Champion Predictor: Our predictor was built in python. We used Principle Component Analysis (PCA) to reduce our raw data's from the past 30 years to "Eigenstats". We then projected this year's team data onto the "Eigenstats" components, thus creating "Eigenteams". Then, we applied a Support Vector Machine model to classify NBA champions by comparing old champions with new data.
NBA Game Predictor: We used the nba_api to gather and store data locally for thousands of individual games. Over the summer, we each built a different type of model on a weekly basis, using pytorch and sklearn to rapidly prototype and evaluate the performance of our models. By experimenting with different data and combining our model results, we were able to reach 79% accuracy in our predictions. Additionally, we prototyped a website to display our results using streamlit.
Personal Contributions:
For Champion Predictor, we met as a team throughout the entire project, working off the same computer. We did the math, code, and report together.
For NBA Game Predictor, I created the logistic regression, random forest, deep neural network, and mixed density neural network models. Additionally, I wrote many functions for data processing, allowing rapid testing with different statistics and ranges of data.