Разбор
Целевая переменная в машинном обучении: как определить ответ
Почему модель может точно предсказывать не то, что нужно бизнесу. Определяем целевую переменную, окно наблюдения и правила разметки на учебном примере.
Целевая переменная - результат, который модель учится предсказывать в задаче обучения с учителем. В англоязычной документации для правильного ответа в примере часто используется слово label, а в таблицах встречается обозначение y.
Ошибку в определении цели трудно исправить выбором алгоритма. Модель может хорошо воспроизводить разметку, но сама разметка описывает событие, которое не помогает нужному решению. Поэтому работу стоит начать с определения результата словами, понятными владельцу процесса.
Пример: что считать повторной покупкой
Предположим, магазин хочет предсказывать, вернётся ли покупатель после первого заказа. Для целевой переменной недостаточно двух значений «да» и «нет». Нужно указать, какое действие считается покупкой и сколько времени отведено на возвращение.
Условное рабочее определение может выглядеть так: «Есть хотя бы один второй оплаченный заказ в течение 30 дней после первого оплаченного заказа». Период выбран для учебного примера; в настоящей задаче его определяют по процессу и решению, которое предстоит принимать.
Остаются вопросы. Как учитывать полный возврат? Что делать с повторным заказом, который создан, но не оплачен? Как объединять покупки одного человека под разными идентификаторами? Ответы превращаются в правила разметки.
Дайте каждому случаю полное окно наблюдения
Клиент, впервые купивший вчера, ещё не получил 30 дней для повторной покупки. Считать его отрицательным примером преждевременно. Иначе в разметку попадёт информация о дате выгрузки вместо поведения клиента.
Для учебной постановки можно брать только клиентов, у которых срок наблюдения уже завершился. Другие методы работы с неполным наблюдением существуют, но требуют отдельной постановки и проверки. Молчаливое превращение неизвестного результата в «нет» обычно скрывает проблему.
| Ситуация в условной задаче | Решение по разметке |
|---|---|
| Повторная оплата произошла внутри окна | Положительный пример |
| Окно завершилось, повторной оплаты нет | Отрицательный пример |
| Окно ещё не завершилось | Результат пока неизвестен |
| История платежей неполная | Сначала уточнить данные |
Согласуйте цель с моментом прогноза
Если прогноз нужен сразу после первой покупки, на вход допустимы только сведения, доступные к этому моменту. Количество заказов клиента за последующие 30 дней раскрывает ответ и не подходит как входной признак.
Уточните также, будет ли прогноз использоваться для индивидуального предложения. История последующих рассылок и скидок могла повлиять на повторные покупки в обучающих данных. Из точности прогноза ещё не следует, что отправка предложения увеличит число заказов. Для проверки действия нужен отдельный план оценки.
Проверьте разметку вручную
Возьмите несколько положительных, отрицательных и пограничных случаев. Восстановите события по исходным записям: первый заказ, оплата, возможный возврат и повторный заказ. Такая проверка помогает обнаружить ошибки связей и определения дат до обучения модели.
Сохраните версию правил. Если позже поменять окно с 30 на 60 дней, изменится сама задача, а не только качество алгоритма. Сравнивать показатели двух моделей без указания этой разницы будет некорректно.
Понятное определение цели должно позволять двум аналитикам независимо получить одинаковую разметку. Входные поля для прогноза после этого описываются отдельно: что такое признаки в машинном обучении.
Есть вопрос по теме?
Разберу вашу ситуацию и предложу конкретный шаг
Источники
Читайте также
Канал «Лёха Маркетолог»
Практика без воды: кейсы, инсайты, разборы. 1–2 поста в неделю.
Пока без комментариев. Будьте первым.