Автостатсмен для Dota 2 (командный проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Компания Yandex Data Factory & Co
Учебный семестр Осень 2016
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 2-3



Что это за проект?

Типичный статсмен

Статсмен в Dota 2 — человек, который занимается поиском любопытных статистических фактов и закономерностей в истории матчей Dota 2. Такая информация обычно используется во время трансляции игр, на постматчевой аналитике или же при подготовке команд к конкретным противникам.

При этом ключевыми источниками информации для подготовки являются 2 сайта: Dotabuff и DatDota и статсменам приходится вручную искать по ним необходимую информацию для ответа на интересующие их вопросы или составления статистических отчетов. Для того, чтобы облегчить их труд, данный процесс можно автоматизировать, сделав поиск и извлечение релевантной информации автоматическим.

Чему научатся студенты? Что самое интересное в проекте?

В рамках данного проекта студенты научатся извлечению данных со страниц веб-сайтов (scraping), использованию API, алгоритмизации выполнения поисковых и аналитических запросов. Проект предполагает создание микросервиса для взаимодействия с Dota 2 API в режиме реального времени и публикации результатов в социальных сетях.

Организация работы (Как студенты будут работать в команде?)

Для работы над данным проектом потребуется как минимум 2 студента

  1. специализирующийся на сборе и хранении данных
  2. специализирующийся на алгоритмизации извлечения и аналитики информации, полученной из данных

Компоненеты (Из каких частей состоит проект?)

  1. Создание системы по сбору и хранению данных о профессиональных матчах с Dotabuff и Datdota;
  2. Классификация типовых статистических запросов и алгоритмизация их выполнения;
  3. Создание веб-интерфейса для работы с созданной базой данных;
  4. Автоматизация работы системы в режиме реального времени на основе данных из текущих матчей Dota 2 Live API.

Какие будут использоваться технологии?

  • Краулинг данных с веб-сайтов: Scrapy, HTML/CSS
  • Получение полных данных о матчах и данных в live-режиме (Steam API)
  • Хранение данных: , MongoDB, SQL
  • Бэкенд: Python, AWS EC2
  • Машинное обучение: SciKit-Learn, XGBoost, методы ранжирования
  • Telegram API, Twitter API - в зависимости от выбранного способа публикации

Какие начальные требования?

  • 3k+ MMR, лучше — 4k+ MMR
  • Страсть к анализу данных и киберспорту

Темы вводных занятий

  • Краулинг данных
  • Работа со Steam API
  • Способы хранения данных
  • Ликбез по машинному обучению

Критерии оценки

Для получения хорошей оценки необходимо будет запустить автоматического статсмена в виде канала в социальной сети (например, Twitter), опубликовать по результатам проекта статью в релевантном издании.

Похожие проекты

Контактная информация

Даниил Яшков (daniil.yashkov@phystech.edu) — YDF, Александр Семенов — ANR HSE, Петр Ермаков — HeadHunter