March machine learning mania 2016
-
Upload
anton-smerdov -
Category
Data & Analytics
-
view
206 -
download
0
Transcript of March machine learning mania 2016
![Page 1: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/1.jpg)
March Machine Learning Mania 2016
Ссылка на Kaggle Смердов АнтонАпрель 2016
![Page 2: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/2.jpg)
![Page 3: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/3.jpg)
Timeline
![Page 4: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/4.jpg)
![Page 5: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/5.jpg)
Специфика• Предсказываем будущее• Соревнование проходит уже три года подряд• Значительное влияние случайности• Можно использовать любые внешние данные• Мало информации о турнирных матчах (~2000 строк)• Преобладание feature enginering’a
![Page 6: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/6.jpg)
Данные• Исторические данные с 1985 года: кто, когда, где и с кем сыграл
• Подробные данные с 2003 года, добавляется статистика матчей: броски, подборы, …
~145K строк для регулярного сезона~2K – для турниров
~71K строк для регулярного сезона~850 – для турниров
![Page 7: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/7.jpg)
Elo rating system• Каждой команде присваивается начальный рейтинг, например, 1500.• Для каждой команды считается матожидание выигранных очков(1 – победа, 0 – поражение):
• Обновляется рейтинг:
K – K-factor, чем меньше K, тем более консервативна система.• Можно ввести поправки на игру дома, на разность в счёте.
Wiki
![Page 8: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/8.jpg)
Другие рейтинговые системы• Glicko – улучшенная версия Elo.• Chessmetrics – попроще, но более чувствительна к «восходящим
звёздам».• TrueSkill – рейтинговая система от Microsoft.
![Page 9: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/9.jpg)
История встреч• Пусть дана история матчей между двумя командами.Введём для каждой из команд «вес», определяемый давностью её побед:
𝑤1=0,5+∑❑
❑
𝑤𝑖𝑛𝑠1𝑛∗ γ 𝑛 𝑤 2=0,5+∑❑
❑
𝑤𝑖𝑛𝑠2𝑛∗ γ𝑛
где – количество побед первой команды над второй n лет назад, – коэффициент затухания.
Тогда можно сделать предсказание:
p1 = p2 =
Например, если команды играли один раз в этом году и больше встреч никогда не было, вероятность повторной победы победителя оценивается в 0.75.
![Page 10: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/10.jpg)
Как формировать датасет• Сырые данные нельзя просто так дать алгоритму
![Page 11: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/11.jpg)
Как формировать датасет
w_team l_team w_team features l_team features target
Train:
![Page 12: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/12.jpg)
Как формировать датасет
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](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/13.jpg)
Как формировать датасет
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](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/14.jpg)
Идея регрессии• Пусть 1-я команда победила 2-ю с разницей Δ, тогда целевые
переменные будут равны +Δ и -Δ соответственно. Либо можно использовать 1+0,03*Δ и 0-0,03*Δ.• Не теряется информация о том, насколько одна команда
оказалась сильнее другой.
![Page 15: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/15.jpg)
Признаки
History results
Статистика бросков, подборов и т.п. за последний год (скользящее среднее)
Победы, поражения и winrate за последний год
Средняя разность очков после матча за последний год
Сколько дней назад была предыдущая игра
Сколько сезонов команда участвует в турнире, домашний ли матч и т.д.
StatsTeams achievements
Например, просуммируем число игр в турнирах за последние N лет
![Page 16: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/16.jpg)
Дополнительные данные
Massey ordinals
Kenpom data
Teams coaches
Доп. данные для всех команд с 2002 года
Рейтинги команд у разных систем(132 уникальных) с 2003 года
Информация о тренерах для каждой команды
Tourney seeds Данные о посевных номерах команд
Geography data Где проходили матчи
![Page 17: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/17.jpg)
Идея разных датасетов
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](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/19.jpg)
Наиболее важные признаки• Географические данные• Elo• Δ(Δscore)• Предсказание по истории игр• Рейтинги некоторых систем
![Page 20: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/20.jpg)
Анализ предсказаний участников
![Page 21: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/21.jpg)
![Page 22: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/22.jpg)
![Page 23: March machine learning mania 2016](https://reader035.fdocuments.us/reader035/viewer/2022070602/5873985b1a28ab85438b5f5f/html5/thumbnails/23.jpg)
Идеи на будущее1. Добавить новую информацию (данные о ставках, игроках…)2. Использовать алгоритмы: NeuralNets, KNN…3. Можно оптимизировать не logloss, а матожидание выигрыша в
деньгах или место на leaderboard• Проанализировать предсказания других участников
4. Придумать метод симуляции турнира• Поможет получить больше данных• Будет полезен для анализа предсказаний других участников