Определи опытность игрока в игре Dota 2 по информации о его поведении во время матча.
В игре Dota 2 участвуют две стороны: команды сил Света (The Radiant) и сил Тьмы (The Dire). Каждая команда состоит из 5 игроков — персонажей со своими уникальными способностями.
Цель игры — разрушить трон, находящийся на базе противника.
Твоя задача — построить алгоритм, который сможет определить опытность игрока по его телеметрии — слою данных, который был подготовлен специально для очного финала. Это информация о поведении игрока во время матча: детальные перемещения мышки, клики, взаимодействие с другими игроками, временные ряды.
В этой задаче необходимо оценить вероятность классов (0 — новичок, 1 — опытный), а не «угадывать» правильный ответ — метрика качества ROC AUC.
Для анализа можно использовать продвинутые техники feature engineering, нейронные сети и deep learning.
Каждый предоставленный пример данных описывает характеристики матча и статистику одного из игроков на момент окончания матча. Все примеры имеют уникальный идентификатор id.
Для соревнования были подготовлены два набора данных:
Твоя задача — построить алгоритм, оценивающий вероятность класса skilled. В задаче онлайн-этапа нужно было определить опытность игрока, указывая в ответе 0 или 1, а качество предсказаний измерялось с помощью метрики Accuracy (Точность).
Теперь задача заключается в том, чтобы оценить шанс (вероятность в диапазоне от [0, 1]) того, что игрок опытный. На практике это означает, что в ответе теперь указывается не просто 1, если ваш алгоритм предсказал, что игрок опытный, а некоторое число близкое к 1, например: 0.8742.
Построенный алгоритм нужно было запустить на тестовых данных, сохранить результат в .csv-файл и отправить его как свое решение.
Для каждого примера из тестового набора необходимо было предсказать вероятность класса skilled. В систему нужно было отправить CSV-таблицу с предсказаниями вероятности класса 1, которая содержала две колонки: id — идентификатор игрока, skilled_prob — вероятность того, что он опытный.