Determine the player's experience in the Dota 2 game based on the statistics of one match.
The game Dota 2 involves two sides: teams of the forces of Light (The Radiant) and the forces of Darkness (The Dire). Each team consists of 5 players - characters with their own unique abilities.
The goal of the game is to destroy the throne located in the enemy base.
Your task is to build an algorithm that can determine a player’s experience based on statistics from one match.
Training data for building models and test data for testing algorithms are given. The solution to the problem is the predictions of your algorithms on test data.
To solve the problem, participants were given a set of almost 50,000 examples of matches in which the player’s level was known. For each of the ≈21,000 test cases, participants had to analyze the match data using their algorithms and answer whether the player was skilled.
Each data example provided describes the characteristics of the match and the statistics of one of the players at the end of the match. All examples have a unique identifier "id".
Two data sets were prepared:
Data sets were provided in two formats:
For each example from the test set, it is necessary to predict the player's experience. You need to provide the system with a CSV table with predictions for verification; it should contain two columns: id — example identifier, skilled — medal type (0 - beginner, 1 - experienced).
The quality of the solution was considered as the proportion of correctly guessed “experienced”/“novice” labels for all test examples. A detailed description of the metric is available at the link below.
To solve this, it is most convenient to use the Pythonprogramming language, since it has a large number of libraries for data analysis: NumPy, Pandas, SciKit-Learn and others. The Jupyter interactive environment is used as a development tool.
A basic example solution from the developers is available as a Jupyter notebook.