SlideShare a Scribd company logo
1 of 23
March Machine Learning Mania 2016
Ссылка на Kaggle Смердов Антон
Апрель 2016
Timeline
Специфика
• Предсказываем будущее
• Соревнование проходит уже три года подряд
• Значительное влияние случайности
• Можно использовать любые внешние данные
• Мало информации о турнирных матчах (~2000 строк)
• Преобладание feature enginering’a
Данные
• Исторические данные с 1985 года: кто, когда, где и с кем сыграл
• Подробные данные с 2003 года, добавляется статистика матчей:
броски, подборы, …
~145K строк для регулярного сезона
~2K – для турниров
~71K строк для регулярного сезона
~850 – для турниров
Elo rating system
• Каждой команде присваивается начальный рейтинг, например, 1500.
• Для каждой команды считается матожидание выигранных очков
(1 – победа, 0 – поражение):
• Обновляется рейтинг:
K – K-factor, чем меньше K, тем более консервативна система.
• Можно ввести поправки на игру дома, на разность в счёте.
Wiki
Другие рейтинговые системы
• Glicko – улучшенная версия Elo.
• Chessmetrics – попроще, но более чувствительна к «восходящим
звёздам».
• TrueSkill – рейтинговая система от Microsoft.
История встреч
• Пусть дана история матчей между двумя командами.
Введём для каждой из команд «вес», определяемый давностью её побед:
𝑤1 = 0,5 + 𝑤𝑖𝑛𝑠_1 𝑛 ∗ γ 𝑛 𝑤2 = 0,5 + 𝑤𝑖𝑛𝑠_2 𝑛 ∗ γ 𝑛
где 𝑤𝑖𝑛𝑠_1 𝑛 – количество побед первой команды над второй n лет назад, γ –
коэффициент затухания.
Тогда можно сделать предсказание:
p1 =
𝑤1
𝑤1+𝑤2
p2 =
𝑤2
𝑤1+𝑤2
Например, если команды играли один раз в этом году и больше встреч никогда
не было, вероятность повторной победы победителя оценивается в 0.75.
Как формировать датасет
• Сырые данные нельзя просто так дать алгоритму
Как формировать датасет
w_team l_team w_team features l_team features target
Train:
Как формировать датасет
w_team l_team w_team features l_team features
l_team w_team l_team features w_team features
1
0
Train:
Как формировать датасет
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’ =
𝑝1
𝑝1+𝑝2
p2’ =
𝑝2
𝑝1+𝑝2
Идея регрессии
• Пусть 1-я команда победила 2-ю с разницей Δ, тогда целевые
переменные будут равны +Δ и -Δ соответственно. Либо можно
использовать 1+0,03*Δ и 0-0,03*Δ.
• Не теряется информация о том, насколько одна команда
оказалась сильнее другой.
Признаки
History results
Статистика бросков, подборов и т.п. за последний год (скользящее среднее)
Победы, поражения и winrate за последний год
Средняя разность очков после матча за последний год
Сколько дней назад была предыдущая игра
Сколько сезонов команда участвует в турнире, домашний ли матч и т.д.
StatsTeams achievements
Например, просуммируем число игр
в турнирах за последние N лет
Дополнительные данные
Massey ordinals
Kenpom data
Teams coaches
Доп. данные для всех команд с 2002 года
Рейтинги команд у разных систем(132 уникальных) с 2003 года
Информация о тренерах для каждой команды
Tourney seeds Данные о посевных номерах команд
Geography data Где проходили матчи
Идея разных датасетов
Massey ordinals
Kenpom data
Teams coaches
Geography data Teams Achievements
Coaches Achievements
Stats 1
Tourney seeds
Elo
Glicko
HistoryStats 2
Dataset 1
2003+
Dataset 2
1985+
Tourney Dataset 1
2003+
Tourney Dataset 2
1985+
2003+ 1985+
Massey ordinals
Kenpom data
Teams coaches
Tourney seeds
Geography data
Teams Achievements
Coaches Achievements
Stats
Elo
Glicko
Dataset 1
2003+
Dataset 2
1985+
Tourney Dataset 1
2003+
Tourney Dataset 2
1985+
History
XGB Level 1
XGB Regression
Elo
Glicko
History
+
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
Наиболее важные признаки
• Географические данные
• Elo
• Δ(Δscore)
• Предсказание по истории игр
• Рейтинги некоторых систем
Анализ предсказаний участников
Идеи на будущее
1. Добавить новую информацию (данные о ставках, игроках…)
2. Использовать алгоритмы: NeuralNets, KNN…
3. Можно оптимизировать не logloss, а матожидание выигрыша в
деньгах или место на leaderboard
• Проанализировать предсказания других участников
4. Придумать метод симуляции турнира
• Поможет получить больше данных
• Будет полезен для анализа предсказаний других участников

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

March machine learning mania 2016

  • 1. March Machine Learning Mania 2016 Ссылка на Kaggle Смердов Антон Апрель 2016
  • 2.
  • 4.
  • 5. Специфика • Предсказываем будущее • Соревнование проходит уже три года подряд • Значительное влияние случайности • Можно использовать любые внешние данные • Мало информации о турнирных матчах (~2000 строк) • Преобладание feature enginering’a
  • 6. Данные • Исторические данные с 1985 года: кто, когда, где и с кем сыграл • Подробные данные с 2003 года, добавляется статистика матчей: броски, подборы, … ~145K строк для регулярного сезона ~2K – для турниров ~71K строк для регулярного сезона ~850 – для турниров
  • 7. Elo rating system • Каждой команде присваивается начальный рейтинг, например, 1500. • Для каждой команды считается матожидание выигранных очков (1 – победа, 0 – поражение): • Обновляется рейтинг: K – K-factor, чем меньше K, тем более консервативна система. • Можно ввести поправки на игру дома, на разность в счёте. Wiki
  • 8. Другие рейтинговые системы • Glicko – улучшенная версия Elo. • Chessmetrics – попроще, но более чувствительна к «восходящим звёздам». • TrueSkill – рейтинговая система от Microsoft.
  • 9. История встреч • Пусть дана история матчей между двумя командами. Введём для каждой из команд «вес», определяемый давностью её побед: 𝑤1 = 0,5 + 𝑤𝑖𝑛𝑠_1 𝑛 ∗ γ 𝑛 𝑤2 = 0,5 + 𝑤𝑖𝑛𝑠_2 𝑛 ∗ γ 𝑛 где 𝑤𝑖𝑛𝑠_1 𝑛 – количество побед первой команды над второй n лет назад, γ – коэффициент затухания. Тогда можно сделать предсказание: p1 = 𝑤1 𝑤1+𝑤2 p2 = 𝑤2 𝑤1+𝑤2 Например, если команды играли один раз в этом году и больше встреч никогда не было, вероятность повторной победы победителя оценивается в 0.75.
  • 10. Как формировать датасет • Сырые данные нельзя просто так дать алгоритму
  • 11. Как формировать датасет w_team l_team w_team features l_team features target Train:
  • 12. Как формировать датасет w_team l_team w_team features l_team features l_team w_team l_team features w_team features 1 0 Train:
  • 13. Как формировать датасет 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’ = 𝑝1 𝑝1+𝑝2 p2’ = 𝑝2 𝑝1+𝑝2
  • 14. Идея регрессии • Пусть 1-я команда победила 2-ю с разницей Δ, тогда целевые переменные будут равны +Δ и -Δ соответственно. Либо можно использовать 1+0,03*Δ и 0-0,03*Δ. • Не теряется информация о том, насколько одна команда оказалась сильнее другой.
  • 15. Признаки History results Статистика бросков, подборов и т.п. за последний год (скользящее среднее) Победы, поражения и winrate за последний год Средняя разность очков после матча за последний год Сколько дней назад была предыдущая игра Сколько сезонов команда участвует в турнире, домашний ли матч и т.д. StatsTeams achievements Например, просуммируем число игр в турнирах за последние N лет
  • 16. Дополнительные данные Massey ordinals Kenpom data Teams coaches Доп. данные для всех команд с 2002 года Рейтинги команд у разных систем(132 уникальных) с 2003 года Информация о тренерах для каждой команды Tourney seeds Данные о посевных номерах команд Geography data Где проходили матчи
  • 17. Идея разных датасетов Massey ordinals Kenpom data Teams coaches Geography data Teams Achievements Coaches Achievements Stats 1 Tourney seeds Elo Glicko HistoryStats 2 Dataset 1 2003+ Dataset 2 1985+ Tourney Dataset 1 2003+ Tourney Dataset 2 1985+ 2003+ 1985+
  • 18. Massey ordinals Kenpom data Teams coaches Tourney seeds Geography data Teams Achievements Coaches Achievements Stats Elo Glicko Dataset 1 2003+ Dataset 2 1985+ Tourney Dataset 1 2003+ Tourney Dataset 2 1985+ History XGB Level 1 XGB Regression Elo Glicko History + 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
  • 19. Наиболее важные признаки • Географические данные • Elo • Δ(Δscore) • Предсказание по истории игр • Рейтинги некоторых систем
  • 21.
  • 22.
  • 23. Идеи на будущее 1. Добавить новую информацию (данные о ставках, игроках…) 2. Использовать алгоритмы: NeuralNets, KNN… 3. Можно оптимизировать не logloss, а матожидание выигрыша в деньгах или место на leaderboard • Проанализировать предсказания других участников 4. Придумать метод симуляции турнира • Поможет получить больше данных • Будет полезен для анализа предсказаний других участников