This project aims to predict the outcome of Dota 2 matches based on the heroes picked by both the Radiant and Dire teams. Using machine learning techniques, we train a model to determine the likelihood of either team winning given the heroes selected during the drafting phase.
- Data Collection: We collect match data, including the heroes picked by both teams and the match outcome, using the OpenDota API.
- Data Preprocessing: The hero IDs for both teams are encoded using one-hot encoding to create a feature set for machine learning models.
- Model Training: A machine learning model is trained on the preprocessed data to predict the match outcome.
- Prediction: The trained model is used to predict the outcome of new matches based on the heroes picked.
- data/
matches.csv
: Collected match data including match IDs, hero picks, and match outcomes.heroes.csv
: List of Dota 2 heroes with their corresponding IDs.
- The OpenDota API may return the same match details if queried too frequently. It is recommended to space out API requests to avoid collecting duplicate data.
- The model's performance may vary depending on the amount and quality of data collected. Experimenting with different machine learning algorithms and hyperparameters is encouraged.
- Feature Engineering: Explore additional features such as player rankings, hero synergy, and counter-picks to improve model accuracy.
- Model Optimization: Experiment with different machine learning algorithms and techniques like cross-validation, hyperparameter tuning, and ensemble methods.
- Real-time Prediction: Integrate the model with live match data to provide real-time win probability predictions during ongoing matches.