14
Станислав Семёнов ICBDA, 2016 Использование целевой переменной для улучшения прогноза в прикладных задачах анализа данных

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

  • Upload
    rusbase

  • View
    572

  • Download
    2

Embed Size (px)

Citation preview

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

Станислав СемёновICBDA, 2016

Использование целевой переменной для улучшения прогноза в прикладных задачах анализа данных

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

Кейс Вам нужно решить стандартную задачу машинного

обучения с учителем У вас уже есть готовый набор с данными,

придуманы и построены все признаки, определён наиболее подходящий метод машинного обучения

Можно ли улучшить прогноз не используя новые данные и другие методы машинного обучения?

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

ДанныеГород Возраст Должность Зарплата Одобрение

Санкт-Петербург

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 Разнорабочи

й- ?

… … … … …

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

Использование целевой переменной Goods – , число единиц в каждой группе Bads – число

нулей

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

Основная проблема Переобучение

10 20 30 40 50 60 70 80 90 10000.010.020.030.040.050.060.070.080.090.1

Валидация Тест

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

Решение Для построения признаков каждой строки нельзя

использовать целевую переменную этой же строки Представьте что вы используете любой метод

разбивки для кросс-валидации

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

Проблемы В отличие от обычных признаков, нам нужно их по-

разному рассчитывать для обучающей и для тестовой выборки

Могут быть новые значения признаков в тестовой выборке, которые не встречались в обучающей

Может быть разная частота вхождения тех или иных значений признаков в обучающей выборке

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

Решение

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

Город Число строк 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

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

Непрерывные признаки Что делать если есть непрерывные признаки?Например: возраст, зарплата.1. Оставить как есть2. Создать группы руками (возраст больше 18,

зарплата больше 100000, и т.д.)3. Использовать округление (возраст / 5, зарплата /

20000)4. Посчитать перцентили для каждого признака

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

Результаты

XGBoost RF NN00.010.020.030.040.050.060.070.08

Метрика качества - LogLoss

Оригинальные данные Данные с использованием целевой переменной

В среднем улучшает результат на 10-15%

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

Плюсы метода Не нужно использовать много памяти, как в случае с

One-Hot-Encoding Можно добавлять такие признаки сразу по

нескольким целевым переменным, находя дополнительные взаимодействия между ними

Метод показывает значительный прирост без использования новых данных

Метод может быть применен автоматически к текущему решению

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

Минусы метода Сложно валидировать модели - остаётся шанс

переобучения Плохо работает на небольшом количестве данных

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

Область применимостиЗадачи с большим количеством строк и категориальных признаков:Предсказание CTR, предсказание поведения пользователя в интернете, кредитный скоринг

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

Спасибо за внимание Вопросы?