Стратегии надежных прогнозов».

ПОЧЕМУ?

Специалисты по обработке и анализу данных обычно следуют процессу, в котором они начинают с набора данных и выполняют разделение на поезд-тест. Цель этого разделения состоит в том, чтобы разделить данные на наборы для обучения и тестирования. Данные обучения используются для обучения модели, а данные тестирования используются для оценки ее производительности. Предположим, что после обучения и тестирования специалист по данным достигает точности 95%, что считается хорошим. Теперь, когда проект развернут и пользователи начинают им пользоваться, дата-сайентист замечает, что точность редко превышает 70%.

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

Вот объяснение утечки данных на реальном примере:

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

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

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

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

Что такое утечка данных?

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

Способы утечки данных

  1. Целевая утечка: Целевая утечка происходит, когда ваши предикторы включают данные, которые не будут доступны в то время, когда вы делаете прогнозы.
  2. Мультиколлинеарность с целевым столбцом
  3. Дублированные данные
  4. Утечка предварительной обработки - › Загрязнение тестов поезда и неправильная перекрестная проверка
  5. Настройка гиперпараметров

Поясним каждое из упомянутых понятий:

  1. Целевая утечка: Целевая утечка происходит, когда ваши предикторы включают данные, которые не будут доступны в то время, когда вы делаете прогнозы. Это обсуждалось в предыдущих примерах. Включение информации, на которую влияет целевая переменная, может привести к чрезмерно оптимистичным характеристикам модели на этапах обучения и тестирования.
  2. Мультиколлинеарность с целевым столбцом. Мультиколлинеарность относится к высокой корреляции между переменными-предикторами в регрессионной модели. Мультиколлинеарность с целевым столбцом означает, что предикторы сильно коррелируют с самой целевой переменной. Это может вызвать проблемы при интерпретации коэффициентов предикторов и повлиять на стабильность и точность модели.
  3. Дублированные данные: Дублированные данные относятся к идентичным или почти идентичным наблюдениям в наборе данных. Это может произойти из-за ошибок ввода данных, системных сбоев или процессов сбора данных. Дублированные данные могут привести к необъективной работе модели, поскольку модель может придавать слишком большой вес дублированным наблюдениям, что приводит к завышенной оценке точности модели.
  4. Утечка предварительной обработки. Утечка предварительной обработки относится к ситуациям, когда утечка данных происходит на этапах предварительной обработки конвейера машинного обучения. Сюда входят такие операции, как масштабирование объектов, вменение пропущенных значений или преобразование объектов. Утечка может произойти, если эти шаги предварительной обработки выполняются для всего набора данных перед его разделением на наборы для обучения и тестирования. Крайне важно убедиться, что этапы предварительной обработки применяются отдельно к наборам для обучения и тестирования, чтобы избежать загрязнения и обеспечить достоверную оценку производительности модели.
  5. Загрязнение тренировочного теста и неправильная перекрестная проверка: Загрязнение тренировочного теста происходит, когда информация из данных тестирования просачивается в обучающие данные во время разработки модели. Это может произойти, если данные тестирования используются для выбора функций, оценки модели или настройки гиперпараметров. Неправильная перекрестная проверка относится к неправильному применению методов перекрестной проверки, таких как перекрестная проверка k-fold, из-за неправильного перемешивания данных или утечки информации между складками. Как загрязнение обучающими тестами, так и неправильная перекрестная проверка могут привести к чрезмерно оптимистичным оценкам производительности модели и ненадежному обобщению новых данных.
  6. Настройка гиперпараметров. Настройка гиперпараметров включает выбор оптимальных значений гиперпараметров алгоритма машинного обучения. Гиперпараметры контролируют поведение алгоритма и могут существенно повлиять на производительность модели. Важно выполнять настройку гиперпараметров с использованием отдельного набора проверки или с помощью таких методов, как перекрестная проверка, чтобы избежать чрезмерной подгонки гиперпараметров к обучающим данным.

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

Как обнаружить?

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

  1. Просмотрите свои функции. Внимательно изучите все функции, используемые для обучения вашей модели. Ищите любые данные, которые не были бы доступны во время прогнозирования, или любые данные, которые прямо или косвенно раскрывают целевую переменную. Эти функции являются распространенными источниками утечки данных.
  2. Неожиданно высокая производительность. Если ваша модель демонстрирует удивительно хорошую производительность при проверке или наборе тестов, это может указывать на утечку данных. Поскольку большинство задач прогнозного моделирования сложны, достижение исключительно высокой производительности может означать, что модель имеет доступ к информации, которой у нее не должно быть на этапе прогнозирования.
  3. Несогласованная производительность между обучающими и невидимыми данными. Если ваша модель работает значительно лучше на обучающих и проверочных данных по сравнению с новыми, невидимыми данными, это может быть признаком утечки данных. Это несоответствие предполагает, что модель не может хорошо обобщать невидимые данные, возможно, из-за утечки информации.
  4. Интерпретируемость модели: используйте такие методы, как важность функций или интерпретируемые модели, чтобы понять, что изучает модель. Если модель придает чрезмерное значение признаку, который, по-видимому, не имеет прямого отношения к целевой переменной, это может указывать на наличие утечки данных.

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

Как устранить утечку данных

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

  1. Понимание данных и задачи: получите полное представление о проблеме, которую вы пытаетесь решить, о данных, которые у вас есть, и о том, как они были собраны. Определите, какие функции актуальны и будут реально доступны во время прогнозирования.
  2. Тщательный выбор функций: просмотрите все функции, используемые в вашей модели, и определите те, которые содержат информацию, недоступную во время прогнозирования, или непосредственно раскрывают целевую переменную. Удалите или измените эти функции, чтобы избежать утечки данных.
  3. Правильное разделение данных. Разделите данные на наборы для обучения, проверки и тестирования на ранней стадии конвейера, прежде чем выполнять какую-либо предварительную обработку или извлечение признаков. Это гарантирует, что разделение будет выполнено до того, как какая-либо информация из тестового набора будет непреднамеренно использована во время разработки модели.
  4. Предварительная обработка внутри цикла перекрестной проверки. Если вы используете такие методы, как перекрестная проверка, выполняйте все шаги предварительной обработки данных в цикле перекрестной проверки. Это гарантирует, что предварительная обработка применяется отдельно к каждому набору данных, предотвращая утечку информации из проверочного набора в обучающий набор.
  5. Избегайте перекрывающихся данных. Убедитесь, что отдельные лица или периоды времени, присутствующие в обучающих и тестовых наборах, не перекрываются. Если одни и те же экземпляры появляются в обоих наборах, это может привести к утечке данных. Убедитесь, что наборы для обучения и тестирования представляют разные и отдельные экземпляры, чтобы получить объективную оценку производительности.

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