Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/estaheri7/dotawinpredictor
This project aims to predict the outcome of Dota 2 matches based on the heroes picked by both the Radiant and Dire teams
https://github.com/estaheri7/dotawinpredictor
data-science dota2 machine-learning numpy pandas python random-forest sklearn support-vector-machines
Last synced: about 1 month ago
JSON representation
This project aims to predict the outcome of Dota 2 matches based on the heroes picked by both the Radiant and Dire teams
- Host: GitHub
- URL: https://github.com/estaheri7/dotawinpredictor
- Owner: Estaheri7
- Created: 2024-08-18T15:56:53.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-08-21T09:17:36.000Z (3 months ago)
- Last Synced: 2024-10-10T08:06:45.435Z (about 1 month ago)
- Topics: data-science, dota2, machine-learning, numpy, pandas, python, random-forest, sklearn, support-vector-machines
- Language: Jupyter Notebook
- Homepage:
- Size: 376 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dota 2 Match Outcome Prediction
## Overview
This project aims to predict the outcome of [Dota 2](https://www.dota2.com/home) 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.
## Project Structure
- **Data Collection**: We collect match data, including the heroes picked by both teams and the match outcome, using the [OpenDota API](https://docs.opendota.com).
- **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 Directory
- **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.## Notes
- 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.## Future Work
- **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.