Advertisement
Advertisement

More Related Content

Viewers also liked(19)

Similar to Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBDA'15, #1 в рейтинге Kaggle — ICBDA2016(17)

Advertisement

More from rusbase(20)

Recently uploaded(20)

Advertisement

Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBDA'15, #1 в рейтинге Kaggle — ICBDA2016

  1. Станислав Семёнов ICBDA, 2016 Использование целевой переменной для улучшения прогноза в прикладных задачах анализа данных
  2. Кейс  Вам нужно решить стандартную задачу машинного обучения с учителем  У вас уже есть готовый набор с данными, придуманы и построены все признаки, определён наиболее подходящий метод машинного обучения  Можно ли улучшить прогноз не используя новые данные и другие методы машинного обучения?
  3. Данные Город Возраст Должность Зарплата Одобрение Санкт- Петербург 25 Программист 100000 1 Обучающая выборка Москва 36 Аналитик 80000 0 Москва 32 Менеджер 150000 1 Волгоград 30 - 10000 0 Новосибирск 42 Водитель 30000 1 Ивановка 35 Продавец 10000 0 … … … … … Уфа 30 Продавец 20000 ? Тестовая выборка Москва 32 Менеджер 120000 ? Москва 50 Директор 250000 ? Новосибирск 40 Разнорабочий - ? … … … … …
  4. Использование целевой переменной  Goods – число единиц в каждой группе, Bads – число нулей  𝐿𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 = 𝐺𝑜𝑜𝑑𝑠 𝐺𝑜𝑜𝑑𝑠+𝐵𝑎𝑑𝑠 = 𝑚𝑒𝑎𝑛 𝑡𝑎𝑟𝑔𝑒𝑡  𝑊𝑒𝑖𝑔ℎ𝑡 𝑜𝑓 𝐸𝑣𝑖𝑑𝑒𝑛𝑐𝑒 = ln 𝐺𝑜𝑜𝑑𝑠 𝐵𝑎𝑑𝑠 ∗ 100  𝐶𝑜𝑢𝑛𝑡 = 𝐺𝑜𝑜𝑑𝑠 = 𝑠𝑢𝑚(𝑡𝑎𝑟𝑔𝑒𝑡)  𝐷𝑖𝑓𝑓 = 𝐺𝑜𝑜𝑑𝑠 − 𝐵𝑎𝑑𝑠
  5. Основная проблема  Переобучение 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 10 20 30 40 50 60 70 80 90 100 Валидация Тест
  6. Решение  Для построения признаков каждой строки нельзя использовать целевую переменную этой же строки  Представьте что вы используете любой метод разбивки для кросс-валидации
  7. Проблемы  В отличие от обычных признаков, нам нужно их по-разному рассчитывать для обучающей и для тестовой выборки  Могут быть новые значения признаков в тестовой выборке, которые не встречались в обучающей  Может быть разная частота вхождения тех или иных значений признаков в обучающей выборке
  8. Решение  𝑆𝑚𝑜𝑜𝑡ℎ𝑒𝑑 𝐿𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 = 𝑚𝑒𝑎𝑛 𝑡𝑎𝑟𝑔𝑒𝑡 ∗ 𝑛𝑟𝑜𝑤𝑠+𝑔𝑙𝑜𝑏𝑎𝑙𝑚𝑒𝑎𝑛 ∗𝑎𝑙𝑝ℎ𝑎 𝑛𝑟𝑜𝑤𝑠+𝑎𝑙𝑝ℎ𝑎  g𝑙𝑜𝑏𝑎𝑙𝑚𝑒𝑎𝑛 – среднее значение целевой переменной по всей выборке, 𝑎𝑙𝑝ℎ𝑎 – коэффициент регуляризации Город Число строк Likelihood Smoothed Likelihood Москва 100 0.74 0.72 Санкт-Петербург 50 0.66 0.64 Новосибирск 10 0.8 0.67 Ивановка 1 0. 0.57 Уфа 5 1. 0.68 Владивосток 0 - 0.6
  9. Непрерывные признаки  Что делать если есть непрерывные признаки? Например: возраст, зарплата. 1. Оставить как есть 2. Создать группы руками (возраст больше 18, зарплата больше 100000, и т.д.) 3. Использовать округление (возраст / 5, зарплата / 20000) 4. Посчитать перцентили для каждого признака
  10. Результаты 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 XGBoost RF NN Метрика качества - LogLoss Оригинальные данные Данные с использованием целевой переменной В среднем улучшает результат на 10-15%
  11. Плюсы метода  Не нужно использовать много памяти, как в случае с One- Hot-Encoding  Можно добавлять такие признаки сразу по нескольким целевым переменным, находя дополнительные взаимодействия между ними  Метод показывает значительный прирост без использования новых данных  Метод может быть применен автоматически к текущему решению
  12. Минусы метода  Сложно валидировать модели - остаётся шанс переобучения  Плохо работает на небольшом количестве данных
  13. Область применимости Задачи с большим количеством строк и категориальных признаков: Предсказание CTR, предсказание поведения пользователя в интернете, кредитный скоринг
  14. Спасибо за внимание  Вопросы?
Advertisement