A newer version of the Gradio SDK is available:
5.45.0
title: NBA Performance Predictor
emoji: ๐
colorFrom: red
colorTo: blue
sdk: gradio
sdk_version: 5.44.0
app_file: app.py
pinned: false
license: mit
NBA Player Performance Predictor
Model Description
This interactive web application predicts NBA player points per game (PPG) using machine learning. The model analyzes historical player statistics, lag features, and engineered metrics to make predictions.
Features
- Interactive Interface: User-friendly sliders and inputs for player statistics
- Example Players: Pre-loaded NBA stars (LeBron James, Stephen Curry, etc.)
- Real-time Predictions: Instant predictions as you adjust parameters
- Player Categories: Automatic classification (Role Player โ Superstar)
- Mobile Friendly: Works on phones, tablets, and desktops
How to Use
- Input Current Season Stats: Use sliders to set age, games played, minutes, etc.
- Add Historical Data: Enter previous season performance metrics
- Select Position: Choose the player's primary position
- Get Prediction: Click "๐ฎ Predict Performance" for instant results
- Try Examples: Use the example player buttons for quick testing
Model Details
- Task: Regression (Predicting NBA player points per game)
- Method: XGBoost with time-series features
- Features: Age, games, minutes, shooting stats, historical performance
- Performance: RMSE ~3-5 points per game, Rยฒ ~0.6-0.8
Key Features Used
The model considers various factors:
- Basic Stats: Age, Games, Minutes Played, Field Goals, etc.
- Historical Performance: Previous season statistics
- Efficiency Metrics: Points per minute, overall efficiency
- Position & Team: Encoded categorical variables
- Trend Analysis: Performance changes over time
Prediction Categories
Based on predicted PPG:
- ๐ต Role Player: < 8 PPG
- ๐ข Solid Contributor: 8-15 PPG
- ๐ก Good Scorer: 15-20 PPG
- ๐ Star Player: 20-25 PPG
- ๐ด Superstar: 25+ PPG
Example Players
Try these pre-loaded examples:
- LeBron James (Prime): All-around superstar stats
- Stephen Curry (Peak): Elite shooting guard numbers
- Rookie Player: Typical first-year player stats
- Veteran Role Player: Experienced bench contributor
Technical Implementation
- Frontend: Gradio for interactive web interface
- Backend: Python with XGBoost, scikit-learn, pandas
- Deployment: Hugging Face Spaces
- Fallback Mode: Simple heuristic when ML model unavailable
Limitations
- Works best for players with NBA history (lag features required)
- May be less accurate for rookies or players with significant role changes
- Predictions based on historical patterns, may not account for injuries or major team changes
- Current version runs in fallback mode (simplified predictions)
Future Improvements
- Full XGBoost model integration
- Additional statistics (advanced metrics, team context)
- Multi-target prediction (rebounds, assists, efficiency)
- Player comparison features
- Historical trend visualization
Usage Examples
Basic Prediction
# Example input for a typical NBA player
player_stats = {
'age': 27,
'games': 75,
'minutes': 32.0,
'field_goal_pct': 45.0,
'position': 'Small Forward',
'pts_last_season': 18.5
}
Star Player Example
# Example for elite player
star_stats = {
'age': 28,
'games': 79,
'minutes': 36.0,
'field_goal_pct': 50.0,
'position': 'Point Guard',
'pts_last_season': 28.5
}
Data Sources
The model was trained on historical NBA player statistics including:
- Regular season performance data
- Multiple seasons for trend analysis
- Various player positions and team contexts
Ethical Considerations
This model is for educational and analytical purposes only. It should not be used for:
- Player salary negotiations without additional context
- Draft decisions as the sole determining factor
- Any form of discrimination or bias in player evaluation
Contact & Feedback
Feel free to provide feedback or suggestions for improvements. This is an educational project demonstrating machine learning applications in sports analytics.
Live Demo: Try the interactive interface above!
Status: Currently running in fallback mode (simplified predictions)
Next Update: Full XGBoost model integration for enhanced accuracy