How nabildia/nba-game-data works
NBA-Game-Data is a Streamlit dashboard for fetching NBA statistics, persisting data, exploring team and player performance, and training a win-factor model. The main workflow starts with a user selecting a season and data type, then uses NBA data loaders and displays results; the team CSV also feeds the Random Forest model. Team rankings and comparisons, player statistics and shot charts, and model evaluation are distinct dashboard capabilities. Several calls are in omitted portions of main.py, so those links rely on README documentation rather than sampled call sites.
Main entry points: main.py Streamlit dashboard · ml_predictions.py Win-factor model · analyse.py Team game logs · database.py Database access
Components 15
Data acquisition
- Team game logs
src/analyse.py - Player game logs
src/analyse.py - Advanced team stats
src/analyse.py - Player shot data
src/analyse.py
Dashboard analytics
- Streamlit dashboard
main.py - Team rankings and comparisons
main.py - Player stats and comparisons
main.py - Shot chart rendering
src/analyse.py - Model evaluation view
main.py
Storage and modeling
- Team stats CSV
export_data/nba_team_stats.csv - SQLite database
export_data/nba_database.db - Database access
src/database.py - Win-factor model
src/ml_predictions.py
Other components
- Dashboard user
- NBA Stats API
Connections 19
- Dashboard user → Streamlit dashboard: uses
README.md - Streamlit dashboard → Team game logs: loads team data
README.md - Streamlit dashboard → Player game logs: loads player data
README.md - Streamlit dashboard → Advanced team stats: loads advanced stats
README.md - Streamlit dashboard → Player shot data: requests shot data
main.py - Team game logs → NBA Stats API: fetches logs
src/analyse.py - Player game logs → NBA Stats API: fetches logs
src/analyse.py - Advanced team stats → NBA Stats API: fetches stats
src/analyse.py - Player shot data → NBA Stats API: fetches shots
src/analyse.py - Streamlit dashboard → Team rankings and comparisons: renders
main.py - Streamlit dashboard → Player stats and comparisons: renders
main.py - Player stats and comparisons → Shot chart rendering: renders shots
main.py - Streamlit dashboard → Database access: updates and reads
README.md - Database access → SQLite database: reads and writes
src/database.py - Streamlit dashboard → Team stats CSV: loads team data
main.py - Streamlit dashboard → Win-factor model: trains model
README.md - Win-factor model → Team stats CSV: reads features
src/ml_predictions.py - Streamlit dashboard → Model evaluation view: shows evaluation
README.md - Win-factor model → Model evaluation view: returns accuracy
main.py