Dota 2 — многопользовательская компьютерная игра жанра MOBA. Игроки играют между собой матчи. В каждом матче участвует две команды, 5 человек в каждой. Одна команда играет за светлую сторону (The Radiant), другая — за тёмную (The Dire). Цель каждой команды — уничтожить главное здание базы противника (трон).
Существуют разные режимы игры, мы будем рассматривать режим Captain's Mode, в формате которого происходит большая часть киберспортивных мероприятий по Dota 2.
Всего в игре чуть более 100 различных героев (персонажей). В начале игры, команды в определенном порядке выбирают героев себе и запрещают выбирать определенных героев противнику (баны). Каждый игрок будет управлять одним героем, в рамках одного матча не может быть несколько одинаковых героев. Герои различаются между собой своими характеристиками и способностями. От комбинации выбранных героев во многом зависит успех команды.
Игроки могут получать золото и опыт за убийство чужих героев или прочих юнитов. Накопленный опыт влияет на уровень героя, который в свою очередь позволяет улучшать способности. За накопленное золото игроки покупают предметы, которые улучшают характеристики героев или дают им новые способности.
После смерти герой отправляется в "таверну" и возрождается только по прошествии некоторого времени, таким образом команда на некоторое время теряет игрока, однако игрок может досрочно выкупить героя из таверны за определенную сумму золота.
В течение игры команды развивают своих героев, обороняют свою часть поля и нападают на вражескую.
Игра заканчивается, когда одна из команд разрушет определенное число "башен" противника и уничтожает трон.
По первым 5 минутам игры предсказать, какая из команд победит: Radiant или Dire?
Признаки, представленные в таблице features.csv
match_id
: идентификатор матча в наборе данныхstart_time
: время начала матча (unixtime)lobby_type
: тип комнаты, в которой собираются игроки (расшифровка вdictionaries/lobbies.csv
)- Наборы признаков для каждого игрока (игроки команды Radiant — префикс
rN
, Dire —dN
):r1_hero
: герой игрока (расшифровка в dictionaries/heroes.csv)r1_level
: максимальный достигнутый уровень героя (за первые 5 игровых минут)r1_xp
: максимальный полученный опытr1_gold
: достигнутая ценность герояr1_lh
: число убитых юнитовr1_kills
: число убитых игроковr1_deaths
: число смертей герояr1_items
: число купленных предметов
- Признаки события "первая кровь" (first blood). Если событие "первая кровь" не успело произойти за первые 5 минут, то признаки принимают пропущенное значение
first_blood_time
: игровое время первой кровиfirst_blood_team
: команда, совершившая первую кровь (0 — Radiant, 1 — Dire)first_blood_player1
: игрок, причастный к событиюfirst_blood_player2
: второй игрок, причастный к событию
- Признаки для каждой команды (префиксы
radiant_
иdire_
)radiant_bottle_time
: время первого приобретения командой предмета "bottle"radiant_courier_time
: время приобретения предмета "courier"radiant_flying_courier_time
: время приобретения предмета "flying_courier"radiant_tpscroll_count
: число предметов "tpscroll" за первые 5 минутradiant_boots_count
: число предметов "boots"radiant_ward_observer_count
: число предметов "ward_observer"radiant_ward_sentry_count
: число предметов "ward_sentry"radiant_first_ward_time
: время установки командой первого "наблюдателя", т.е. предмета, который позволяет видеть часть игрового поля
- Итог матча (данные поля отсутствуют в тестовой выборке, поскольку содержат информацию, выходящую за пределы первых 5 минут матча)
duration
: длительностьradiant_win
: 1, если победила команда Radiant, 0 — иначе- Состояние башен и барраков к концу матча (см. описание полей набора данных)
tower_status_radiant
tower_status_dire
barracks_status_radiant
barracks_status_dire
В качестве метрики качества мы будем использовать площадь под ROC-кривой (AUC-ROC). Обратите внимание, что AUC-ROC — это метрика качества для алгоритма, выдающего оценки принадлежности первому классу. Оба алгоритма, которые будут использоваться в проекте — градиентный бустинг, и логистическая регрессия — умеют выдавать такие оценки.
Ссылка на соревнование: Dota 2: Win Probability Prediction