This project explores whether NBA game outcomes can be predicted using historical team statistics.
The project was developed as the final project for the Introduction to Pattern Recognition course during my Bachelor's degree in Computer Engineering at Erciyes University.
The goal was to apply machine learning algorithms to sports analytics data and evaluate how well game results can be predicted based on statistical metrics.
Using NBA match statistics from multiple seasons, the project attempts to predict game outcomes using a classification approach.
Each game is represented by a set of statistical features describing team performance during the match.
The model attempts to classify game results based on these features.
The dataset contains NBA game statistics from two seasons:
- 2016–2017
- 2017–2018
Files included in the repository:
2016-17_teamBoxScore.csv2017-18_teamBoxScore.csv
Dataset characteristics:
- 4920 samples
- 123 features per sample
The features include various team performance metrics recorded during NBA games.
The following steps were applied in the project:
- Data loading and preprocessing
- Feature selection
- Dataset preparation
- Model training
- Cross-validation
- Model evaluation
The workflow is implemented in:
main.ipynb
Several machine learning algorithms were evaluated:
- Random Forest
- Support Vector Classifier (SVC)
- K-Nearest Neighbors
- Decision Tree
These models were trained and compared based on their classification performance.
The models were evaluated using the following metrics:
- Sensitivity
- Specificity
- AUC (Area Under ROC Curve)
Sensitivity
Correct predictions for class 1 divided by total samples in class 1.
Specificity
Correct predictions for class 2 divided by total samples in class 2.
AUC
Area under the ROC curve.
IPR-Final-NBA
├── main.ipynb
├── 2016-17_teamBoxScore.csv
├── 2017-18_teamBoxScore.csv
├── IPR_final.pdf
├── Report[ENG].txt
├── Rapor[TR].txt
├── nbalogo.jpeg
└── README.md
- Python
- Jupyter Notebook
- Pandas
- NumPy
- Scikit-learn
This project was developed as part of the Introduction to Pattern Recognition course.
The objective was to build a machine learning pipeline using real-world sports data and evaluate classification algorithms.
Furkan Yilmaz
Developed during my Bachelor's degree in Computer Engineering at Erciyes University.
Currently pursuing an M.Sc. in Computer Science at HAW Kiel University of Applied Sciences (Germany).
