Document Type


First Faculty Advisor

Alan Olinsky


Machine Learning; python; NBA

Rights Management



The aim of the project is to create a machine learning model to predict NBA games. The purpose is to build upon and improve existing models. Research into other predictive sports models and machine learning techniques was conducted to understand what is currently being done to predict NBA games and how effective it is in doing so. After a thorough literary review, the model was created using Python and a variety of machine learning techniques. The dataset used had an array of team statistics for both the home and away team for each corresponding matchup and two supporting features were feature engineered. Six different models were tested on the training set: Logistic Regression, Random Forest Classifier, K Neighbors Classifier, Support Vector Classifier, Gaussian Naïve Bayes, and XGBoost Classifier. The best performing model from this group was Gaussian Naïve Bayes. An exhaustive grid search was done to tune the hyperparameter and refine the model. The final model reported an average accuracy of 65.1%, which means that it can predict the outcome of an NBA game about 65% of the time. The code for the project is available on GitHub: