Утечка данных
Утечка данных означает, что данные, используемые для обучения алгоритма машинного обучения, включают данные, которые модель пытается спрогнозировать. Это может привести к тому, что на этапе обучения модель будет работать лучше, чем в реальных условиях, что создает ложную уверенность в эффективности работы модели. Узнайте, как выявить и предотвратить утечку данных, чтобы получать надежные прогнозы.
Существует два вида утечки данных.
-
Когда один или несколько признаков из набора данных для обучения используются для получения целевой переменной, которую модель пытается спрогнозировать.
-
Когда один или несколько признаков в наборе данных для обучения включают данные, которые не должны быть известны на момент прогнозирования.
В приведенной ниже таблице столбец Stage является дубликатом столбца Stage (Binary), который необходимо спрогнозировать. Включив столбец Stage в набор данных для обучения, будет выдан ответ на ожидаемый результат, что приведет к высокой оценке эффективности модели.
Выявление утечки данных
Чтобы выявить утечку данных, задайтесь такими вопросами, как: «Будут ли эти же данные для записей доступны на момент прогнозирования?» или «Останется ли запись такой же через 30 дней?». Помните, что все данные в наборе данных для обучения должны находиться в пределах временного интервала, заданного в бизнес-задаче.
После обучения модели обратите внимание на следующие аспекты в метриках модели.
-
Высокая оценка. Является ли оценка действительно высокой? Например, значение F1 выше 85?
-
Важность признаков. Является ли один признак гораздо более важным, чем все остальные?
-
Оценка на основе отложенных данных. Намного ли ниже оценка, полученная на основе отложенных данных, чем оценка, полученная в ходе перекрестной проверки?
В таблице приведены примеры распространенных признаков, из-за которых может произойти утечка данных.
Бизнес-сценарий использования | Цель |
Признаки с возможной утечкой данных |
---|---|---|
Будет ли закрыта сделка? |
Закрытие сделки («Да» или «Нет») |
Этап, дата закрытия, сведения о счете, выплаченные комиссионные |
Прогнозирование суммы будущей сделки |
Сумма будущей сделки |
Налоги, сведения о сделке |
Будет ли лид сконвертирован в сделку? |
Конвертация («Да» или «Нет») |
Сведения о сделке, дата конвертации |
Уйдет ли клиент? |
Отток («Да» или «Нет») |
Причина ухода, дата ухода, срок постоянного пребывания клиента в компании, состояние клиента |
Уволится ли сотрудник по собственному желанию? |
Увольнение («Да» или «Нет») |
Сведения о собеседовании при увольнении, дата увольнения, сведения о заявлении на увольнение |
Предотвращение утечки данных
Лучший способ предотвратить утечку данных — использовать упорядоченную структуру, чтобы правильно сформулировать бизнес-задачу и получить хороший набор данных. Для получения дополнительной информации см. раздел Формулирование задач машинного обучения.