StarCraft is a famous RTS game where you are part of a faction and must defeat opponents by overpowering them, usually by destroying all of their buildings. Some single-player missions and custom maps feature different objectives. When you are a StarCraft II player, you are ranked among 8 classes:
- Bronze
- Silver
- Gold
- Platinum
- Diamond
- Master
- GrandMaster
- Professional leagues
To go into an higher league, you have to improve yourself on a lot of multiple factors. The question is, could we use different statistic on the player games behaviors and skills to predict its league. It could allow to discover shadow potential amoung young players, or event to know which skills you should improve to be better at this game and maybe be part of the Professional leagues one day.
Will the AI see through you ? Let's see!
SkillCraft is a dataset composed of a lot of features of over three thousand players playing at StarCraft II from bronze to professional gamers. In our study we will try to predict the league index of a player considering all his others features. Thus, it is a classification problem.
In our notebook we have followed the next steps:
- Data exploration
- Data engeneering
- Modeling
- Optimisation (Tunning)
- Conclusion
We obtain finally a score of 0.45 due to a significant lack of data especially for the level 8 players. A flask API is available to make predictions on your datas if you want.
To request a prediction from our API the input must be composed of all the columns (minus the leagueIndex) and no missing data with the appropriate datatype (float or int depending on the column). Finally, it must be a dictionnary.
You will just need python >= 3.0 ( and < 3.11 if you want to use shap values). You can check the version by using the following command.
> python -V
> 3.0.0
You can follow the different steps inorder to get the program working on your computer
-
Clone the repo
git clone https://github.com/VictorGoubet/StarCraftOracle.git
-
Install python packages
pip install -r requirements.txt
-
Open the notebook inn VS code or using jupyter with the following command
jupyter notebook
You can explore the notebook and see the different steps to build the model.
Then, inorder to test the API and start to make some predictions you can execute the following steps:
-
Starting the server
python API/server.py
-
Go to localhost:5000/API_form in a browser
-
Try it yourself!
You can also check the dev_request_example.py file to see how to make some prediction using the REST api from code application.
Victor Goubet - victorgoubet@orange.fr
Chloé Daems - chloedaems0@gmail.com