Определите момент, когда нужен прогноз
Представим задачу оценки риска отказа оборудования по показаниям датчиков. Нужно заранее решить, в какой момент выдаётся прогноз и какой последующий период он описывает. Только после этого можно проверять, какие сведения действительно доступны модели. Дата ремонта, записанная после поломки, не подходит как входной признак для предварительного предупреждения об этой поломке. Даже если столбец присутствует в общей таблице, он относится к будущему относительно задачи. Для каждого признака полезно указать не только значение, но и момент, когда оно становится известно.
Разделяйте данные в соответствии с будущим применением
Допустим, есть тысяча наблюдений от ста устройств, по десять от каждого. Если цель состоит в работе на новых устройствах, случайное распределение отдельных строк может поместить измерения одного прибора и в обучение, и в проверку. Тогда модель частично встречает уже знакомые особенности. В учебном варианте можно выделить восемьдесят устройств для обучения и двадцать для проверки: восемьсот и двести строк. Важна именно непересекаемость устройств, а не универсальность такой пропорции. В scikit-learn разделение по группам поддерживает GroupKFold. Если задача связана с будущими измерениями, отдельно учитывают время: группировка сама по себе не решает временную утечку.
Подготовка признаков тоже может обучаться
Масштабирование, заполнение пропусков и отбор признаков нередко используют характеристики данных. Если сначала рассчитать эти параметры на всей таблице, а потом разделить строки, сведения проверочной части уже повлияют на подготовку модели. Обучаемые параметры преобразования определяют по тренировочной части, затем применяют готовое преобразование к проверочной. В scikit-learn Pipeline помогает объединить такие шаги с моделью и правильно повторять их внутри перекрёстной проверки. Но сам конвейер не исправит ошибочно выбранную цель или признак, содержащий информацию о будущем.
Отделите подбор решения от итоговой проверки
Если многократно менять модель по результатам одного и того же финального теста, этот тест постепенно становится частью выбора. Поэтому заранее определяют, какие данные используются для подбора и какие остаются для итоговой оценки выбранного решения. Запишите схему разделения, правила построения признаков и основания выбора метрики. После обнаружения утечки прежнюю высокую оценку нельзя продолжать считать подтверждением качества. Нужно исправить процесс и провести соответствующую проверку заново. Снижение цифры после исправления может означать, что оценка стала честнее, а не что полезная модель обязательно стала хуже.
Попробуйте на практике
Спроектируйте проверку вымышленной модели для новых устройств на бумаге, без реальных производственных данных.
- Опишите момент прогноза и будущий период отказа. Перечислите доступные до прогноза показатели и сведения, появляющиеся только после события.
- Создайте условную схему ста устройств с десятью наблюдениями на каждое. Выделите восемьдесят устройств в обучение и двадцать в проверку.
- Проверьте, что идентификатор одного устройства не встречается в обеих частях. Отдельно отметьте, какие временные ограничения нужны задаче.
- Укажите, какие преобразования должны обучаться только на тренировочных данных: например, заполнение пропусков и масштабирование.
- Разделите подбор параметров и финальную оценку. Запишите, какой результат пришлось бы пересчитать, если обнаружится недоступный в момент прогноза признак.
Как проверить результат. Группы не пересекаются, признаки доступны в нужный момент, а подготовка данных не обучается на финальном тесте. Учебные восемьсот и двести строк получены из разделения устройств, а не независимого перемешивания записей.
Частые вопросы
Всегда ли случайное разделение строк является ошибкой?
Нет. Его пригодность зависит от структуры данных и задачи. Проблема возникает, когда зависимые наблюдения или время делают такую проверку непохожей на реальное применение.
Достаточно ли удалить идентификатор устройства из признаков?
Не обязательно. Другие показатели могут сохранять характерные особенности устройства. Если нужна оценка на новых устройствах, важно корректно разделить сами группы наблюдений.
Самостоятельный разбор темы. Содержание конкретной обучающей программы здесь не представлено.