Введение

Утечка данных — это проблема, которая может возникнуть при прогнозном моделировании, когда модель основана на данных, загрязненных информацией из будущего. Это может произойти несколькими способами, но наиболее распространенным является случай, когда обучающие данные и тестовые данные не являются независимыми.

Утечка данных — важная проблема, о которой должны знать специалисты по данным. Если ее не решить, это может привести к потере времени на разработку и высоким затратам. Модель необходимо будет расширить и переобучить, если произойдет утечка данных, что приведет к значительным задержкам и потере ценности для бизнеса.

В этой статье мы обсудим, как может происходить утечка данных и какое влияние она может оказать на модель машинного обучения. Мы также дадим несколько советов, как избежать утечки данных в вашей собственной работе.

Что это такое?

Утечка данных — проблема, которая может возникнуть при машинном обучении. Это происходит, когда обучающие данные, используемые для построения модели, содержат информацию, которая не была бы доступна модели во время выполнения. Это может привести к тому, что модель будет работать лучше на обучающих данных, чем на новых, невидимых данных.

Например, мы используем данные об акциях за прошлый год, чтобы прогнозировать цены на акции в будущем. Данные о запасах основаны на временных рядах. Мы можем использовать цену акций в марте, чтобы предсказать цену данных в апреле, но не наоборот. Цены на акции в апреле не должны быть известны в марте. Нет смысла использовать прошлое и будущее для обучения модели. В этом случае происходит утечка данных.

Утечка данных может оказать существенное влияние на производительность модели машинного обучения. Это может привести к переоснащению, что означает, что модель не будет хорошо обобщаться на новые данные. Это может быть серьезной проблемой, особенно для данных временных рядов, где цель состоит в том, чтобы делать прогнозы на будущее.

Два признака утечки данных

Переоснащение

Когда происходит утечка данных, это может привести к переоснащению — модель также слишком хорошо работает на тестовых данных. Переобучение происходит, когда статистическая модель слишком хорошо подходит к своим обучающим данным.

Признаки переобучения: высокая дисперсия, низкая ошибка обучения, высокая ошибка теста. Это приводит к точности, которая слишком хороша, чтобы быть правдой. Расстояние между прогнозируемыми точками данных и фактическими точками данных слишком мало.

Он не очень хорошо работает с реальными данными. Само по себе переоснащение не означает утечку данных, поэтому проверьте еще раз. Переобучение может происходить из нескольких источников, в том числе с использованием инженерных разработок, методов разделения данных и т. д. Вам нужно будет исключить другие факторы и запустить EDA, чтобы проверить, действительно ли это утечка данных.

Чтобы проверить, не является ли переоснащение утечкой данных, вам необходимо запустить исследовательский анализ данных, чтобы проверить отношения между прогнозируемой переменной и функциями в обучающем наборе данных.

Высокая корреляция

Корреляция и утечка данных — два важных понятия в статистике и науке о данных. Корреляция — это мера силы связи между двумя переменными. Между одним или несколькими признаками и прогнозируемой переменной может возникать высокая корреляция без причинно-следственной связи.

Хороший пример — если мы пытаемся предсказать годовые продажи. Если функция обучающих данных содержит ежемесячные продажи, то годовые продажи будут тесно связаны с ежемесячными продажами. Это утечка данных, потому что это один и тот же источник данных, за исключением того, что он рассчитывается по-разному. Их легко обнаружить с помощью меток важности и корреляционного анализа. Это называется утечкой признаков

Это может быть сложно. Часто столбцы могут быть переименованы или преобразованы по-разному в зависимости от бизнес-применений. Таким образом, одна прогнозируемая переменная может иметь утечку из нескольких функций. Особенно, если функции были созданы с использованием одних и тех же данных.

Важно проверить родословную данных на наличие каких-либо странных корреляций, похожих источников данных или любых прокси-переменных, которые содержат одинаковую или сопоставимую информацию.

Пытаетесь отследить и воспроизвести сложные параметры эксперимента? Артефакты — это лишь один из многих инструментов в наборе инструментов Comet, упрощающих управление моделями. Прочитайте наш сценарий PetCam, чтобы узнать больше.

Как предотвратить утечку данных

Есть два способа предотвратить утечку данных. Первый — это опрос экспертов в предметной области, а второй — проведение EDA.

Интервью с профильными экспертами (SME)

Опрос экспертов в предметной области может помочь в случае утечки данных. Они очень полезны для обнаружения утечки функций. Они могут определить скрытые корреляции, которые могут существовать, и помочь прояснить отношения между функциями.

Лучшее время для общения с МСП и заинтересованными сторонами — в самом начале. Это поможет вам проверить, будет ли то, что они хотят предсказать или классифицировать, иметь утечку данных. Также важно связываться с ними в процессе построения модели, чтобы спросить, как получены функции, используемые в модели.

Для специалистов по данным или инженеров по машинному обучению не всегда очевидно, связаны ли определенные функции. Имена объектов (псевдонимы) могут измениться перед использованием в качестве обучающих данных. Данные могут быть получены из одних и тех же источников и могут предсказывать друг друга. Это как клубок со множеством нитей, которые спутались между собой и их трудно разъединить.

После запуска исследовательского анализа данных важно спросить экспертов в предметной области о взаимосвязи между переменными признаков и прогнозируемой переменной. Некоторые корреляции могут быть приемлемыми. Функции с высокой степенью корреляции могут даже не понадобиться для обучения модели. Эксперты в предметной области могут помочь уточнить, какие функции можно или нужно использовать для построения модели.

По этой причине эксперты предметной области имеют решающее значение. Они могут помочь вам упростить модель, которую вы пытаетесь построить. Они определяют варианты использования. Сценарии использования определяют влияние утечки данных и степень ее устранения.

Исследовательский анализ данных

Есть два случая, когда вы можете проверить утечку данных: до и после модели. Исследовательский анализ данных можно использовать как до, так и после построения модели. Он может показать сильные взаимосвязи между функциями, включая переменные, которые мы хотели бы предсказать.

EDA перед созданием модели

Перед созданием модели мы должны использовать EDA для проверки корреляций между функциями. Обратите внимание на функции, которые имеют почти идеальные корреляции или необычно высокие корреляции. Если есть признаки с высокой корреляцией, и один из признаков используется в качестве переменной-предиктора, вероятно, произойдет утечка данных. Чем сильнее сила корреляции, тем выше вероятность утечки данных.

EDA до построения модели важны. Он определяет не только возможность построения модели, но и экономию затрат на разработку модели.

EDA после модели

Утечку данных можно проверить и после создания модели. Это можно сделать с помощью аддитивных объяснений Шепли, также известных как SHAP.

SHAP используется для проверки того, насколько важными были функции после создания модели ML. Подобно корреляциям, необычно высокая важность также может привести к утечке данных.

Сам по себе высокий вес признаков не означает утечку данных. Вы должны проверить результаты по EDA ваших тренировочных данных.

Заключение

Есть много способов предотвратить утечку данных в машинном обучении, и лучший способ сделать это — знать о проблеме и предпринимать шаги, чтобы ее избежать. В этой статье представлен обзор утечки данных и некоторых способов ее предотвращения. Следуя советам из этой статьи, вы можете защитить свои модели машинного обучения от утечки данных.

Утечка данных может никогда не исчезнуть в реальном деловом мире. В некоторых случаях специалисты по данным и бизнес должны определять метрики. Допустимый уровень утечки данных будет зависеть от отрасли и вариантов использования.

Я пишу о науке о данных и технических темах. Если вам интересно, свяжитесь со мной в LinkedIn и посмотрите мой канал на YouTube: https://www.youtube.com/@datalife360.

Примечание редактора. Heartbeat — это интернет-издание и сообщество, созданное участниками и посвященное предоставлению лучших образовательных ресурсов для специалистов по науке о данных, машинному обучению и глубокому обучению. Мы стремимся поддерживать и вдохновлять разработчиков и инженеров из всех слоев общества.

Независимая от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и командам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим нашим авторам и не продаем рекламу.

Если вы хотите внести свой вклад, перейдите к нашему призыву к участию. Вы также можете подписаться на получение нашего еженедельного информационного бюллетеня (Еженедельник глубокого обучения), заглянуть в блог Comet, присоединиться к нам в Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов и событий. и многое другое, что поможет вам быстрее создавать более качественные модели машинного обучения.