+ All Categories
Home > Data & Analytics > March machine learning mania 2016

March machine learning mania 2016

Date post: 16-Apr-2017
Category:
Upload: anton-smerdov
View: 206 times
Download: 0 times
Share this document with a friend
23
March Machine Learning Mania 2016 Ссылка на Kaggle Смердов Антон Апрель 2016
Transcript
Page 1: March machine learning mania 2016

March Machine Learning Mania 2016

Ссылка на Kaggle Смердов АнтонАпрель 2016

Page 2: March machine learning mania 2016
Page 3: March machine learning mania 2016

Timeline

Page 4: March machine learning mania 2016
Page 5: March machine learning mania 2016

Специфика• Предсказываем будущее• Соревнование проходит уже три года подряд• Значительное влияние случайности• Можно использовать любые внешние данные• Мало информации о турнирных матчах (~2000 строк)• Преобладание feature enginering’a

Page 6: March machine learning mania 2016

Данные• Исторические данные с 1985 года: кто, когда, где и с кем сыграл

• Подробные данные с 2003 года, добавляется статистика матчей: броски, подборы, …

~145K строк для регулярного сезона~2K – для турниров

~71K строк для регулярного сезона~850 – для турниров

Page 7: March machine learning mania 2016

Elo rating system• Каждой команде присваивается начальный рейтинг, например, 1500.• Для каждой команды считается матожидание выигранных очков(1 – победа, 0 – поражение):

• Обновляется рейтинг:

K – K-factor, чем меньше K, тем более консервативна система.• Можно ввести поправки на игру дома, на разность в счёте.

Wiki

Page 8: March machine learning mania 2016

Другие рейтинговые системы• Glicko – улучшенная версия Elo.• Chessmetrics – попроще, но более чувствительна к «восходящим

звёздам».• TrueSkill – рейтинговая система от Microsoft.

Page 9: March machine learning mania 2016

История встреч• Пусть дана история матчей между двумя командами.Введём для каждой из команд «вес», определяемый давностью её побед:

𝑤1=0,5+∑❑

𝑤𝑖𝑛𝑠1𝑛∗ γ 𝑛 𝑤 2=0,5+∑❑

𝑤𝑖𝑛𝑠2𝑛∗ γ𝑛

где – количество побед первой команды над второй n лет назад, – коэффициент затухания.

Тогда можно сделать предсказание:

p1 = p2 =

Например, если команды играли один раз в этом году и больше встреч никогда не было, вероятность повторной победы победителя оценивается в 0.75.

Page 10: March machine learning mania 2016

Как формировать датасет• Сырые данные нельзя просто так дать алгоритму

Page 11: March machine learning mania 2016

Как формировать датасет

w_team l_team w_team features l_team features target

Train:

Page 12: March machine learning mania 2016

Как формировать датасет

w_team l_team w_team features l_team features

l_team w_team l_team features w_team features

1

0

Train:

Page 13: March machine learning mania 2016

Как формировать датасет

w_team features l_team features delta features

l_team features w_team features - delta features

1

0

p1+p2 не всегда равно 1. Например, для xgboost’а.Тогда можно пересчитать по формулам:

Train:

team_1 team_2 delta features

team_2 team_1 - delta features

p1

p2

Test:

p1’ =

p2’ =

Page 14: March machine learning mania 2016

Идея регрессии• Пусть 1-я команда победила 2-ю с разницей Δ, тогда целевые

переменные будут равны +Δ и -Δ соответственно. Либо можно использовать 1+0,03*Δ и 0-0,03*Δ.• Не теряется информация о том, насколько одна команда

оказалась сильнее другой.

Page 15: March machine learning mania 2016

Признаки

History results

Статистика бросков, подборов и т.п. за последний год (скользящее среднее)

Победы, поражения и winrate за последний год

Средняя разность очков после матча за последний год

Сколько дней назад была предыдущая игра

Сколько сезонов команда участвует в турнире, домашний ли матч и т.д.

StatsTeams achievements

Например, просуммируем число игр в турнирах за последние N лет

Page 16: March machine learning mania 2016

Дополнительные данные

Massey ordinals

Kenpom data

Teams coaches

Доп. данные для всех команд с 2002 года

Рейтинги команд у разных систем(132 уникальных) с 2003 года

Информация о тренерах для каждой команды

Tourney seeds Данные о посевных номерах команд

Geography data Где проходили матчи

Page 17: March machine learning mania 2016

Идея разных датасетов

Massey ordinals

Kenpom data

Teams coaches

Geography data Teams Achievements

Coaches Achievements

Stats 1

Tourney seeds

Elo

Glicko

HistoryStats 2

Dataset 12003+

Dataset 21985+

Tourney Dataset 12003+

Tourney Dataset 21985+

2003+ 1985+

Page 18: March machine learning mania 2016

Massey ordinals

Kenpom data

Teams coaches

Tourney seeds

Geography data

Teams Achievements

Coaches Achievements

Stats

Elo

Glicko

Dataset 12003+

Dataset 21985+

Tourney Dataset 12003+

Tourney Dataset 21985+

History

XGB Level 1

XGB Regression

EloGlickoHistory

+

XGB Level 2

Logistic Regression

Level 0 Level 1 Level 2 Level 3 Final

Elo predict

Glicko predict

History predict

+

+?Net Prophet’s Entry

Prediction

x4

blending

Page 19: March machine learning mania 2016

Наиболее важные признаки• Географические данные• Elo• Δ(Δscore)• Предсказание по истории игр• Рейтинги некоторых систем

Page 20: March machine learning mania 2016

Анализ предсказаний участников

Page 21: March machine learning mania 2016
Page 22: March machine learning mania 2016
Page 23: March machine learning mania 2016

Идеи на будущее1. Добавить новую информацию (данные о ставках, игроках…)2. Использовать алгоритмы: NeuralNets, KNN…3. Можно оптимизировать не logloss, а матожидание выигрыша в

деньгах или место на leaderboard• Проанализировать предсказания других участников

4. Придумать метод симуляции турнира• Поможет получить больше данных• Будет полезен для анализа предсказаний других участников


Recommended