Остановите утечку данных до её появления
Исключение тестовой информации из обучения
«Остановите утечку данных до её появления» — бесплатный урок Data Science Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Data Science Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Data Science Academy содержит 4 уроков всего.
Тихий обманщик
Утечка данных возникает, когда тестовая информация проникает в обучение. Оценки выглядят великолепно, а затем рушатся в реальном мире.
Почему она вводит в заблуждение
Утечка позволяет модели заглянуть в ответы, которые она не должна видеть. Оценка на тестовой выборке превращается в фантазию, а не в прогноз будущего качества.
Классическая ошибка
Масштабирование или заполнение пропусков во всём наборе данных до разделения приводит к утечке. Тестовые строки незаметно повлияли на Ваши статистики предварительной обработки.
Обучайте преобразователи только на обучающих данных
Всегда вызывайте fit для преобразователей только на обучающих данных. Вычисляйте среднее, масштаб или значения для заполнения по обучающей выборке, а не по тестовой.
scaler.fit(X_train)Затем преобразуйте обе выборки
После обучения на обучающей выборке просто примените transform к тестовой выборке, используя полученные значения. Тестовые данные преобразуются, но не используются для расчётов.
X_train_s = scaler.transform(X_train)
X_test_s = scaler.transform(X_test)Остерегайтесь утечки целевого показателя
Более скрытый вид — это утечка целевого показателя: признак, который тайно содержит ответ, например использование отметки о возврате для прогнозирования возвратов.
Будущая информация тоже приводит к утечке
Во временных данных использование значения, записанного после момента прогноза, приводит к утечке информации о будущем. Используйте только сведения, доступные на момент принятия решения.
Конвейеры защищают Вас
Объедините предварительную обработку и модель в конвейер. Он заново обучает преобразования на каждом обучающем блоке и автоматически блокирует утечку.
from sklearn.pipeline import make_pipeline
pipe = make_pipeline(scaler, model)Безопасная перекрёстная проверка
Передайте в перекрёстную проверку весь конвейер. Тогда масштабирование обучается внутри каждого блока, и ни один тестовый блок не участвует в обучении.
cross_val_score(pipe, X, y, cv=5)Остерегайтесь подозрительно идеального результата
Почти идеальная оценка — это тревожный сигнал, а не повод для награды. Реальные задачи содержат шум, поэтому сначала проведите исследование, а уже потом празднуйте.
Золотое правило
Всё, чему модель учится на данных, должно вычисляться только по обучающей выборке. Держите тестовую выборку запечатанной до единственной финальной оценки. 🔒
Быстрая проверка
Вы масштабируете данные. Как избежать утечки?
Итоги
Утечка завышает оценки, потому что ответы проникают в обучение. Выполняйте преобразования только на обучающей выборке, используйте конвейер и держите тестовую выборку запечатанной. 🔒
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Остановите утечку данных до её появления» бесплатный?
Да — полный текст урока «Остановите утечку данных до её появления» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Data Science Academy, подпишись на CoddyKit PRO. Курс Data Science Academy содержит 4 уроков всего.
Чему я научусь в уроке «Остановите утечку данных до её появления»?
Исключение тестовой информации из обучения Ты практикуешь Data Science Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Data Science Academy?
Предыдущий опыт не требуется. Data Science Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Остановите утечку данных до её появления»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Data Science Academy?
Да. Каждый урок Data Science Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Зачем откладывать тестовую выборку
- Правильное использование train_test_split
- Перекрёстная проверка по K блокам
- Остановите утечку данных до её появления