Необработанные данные должны быть спроектированы (преобразованы). Когда следует преобразовывать данные? Грубо говоря, вы можете выполнять разработку функций в течение любого из следующих двух периодов:
- Перед обучением модели.
- Пока тренируем модель.
Преобразование данных перед обучением
В этом подходе вы выполняете два шага:
- Напишите код или используйте специализированные инструментыдля преобразования необработанных данных.
- Сохраните преобразованные данные где-нибудь, чтобы модель могла их принять, например на диске.
Преимущества
- Система преобразует необработанные данные только один раз.
- Система может анализировать весь набор данных, чтобы определить лучшую стратегию преобразования.
Недостатки
- Вы должны воссоздать преобразования во время прогнозирования. Остерегайтесь перекосов в обучении и обслуживании !
Перекос в обслуживании обучения более опасен, когда ваша система выполняет динамический (онлайн) вывод. В системе, использующей динамический вывод, программное обеспечение, преобразующее необработанный набор данных, обычно отличается от программного обеспечения, предоставляющего прогнозы, что может привести к перекосу в обслуживании обучения. Напротив, системы, использующие статический (автономный) вывод, иногда могут использовать одно и то же программное обеспечение.
Преобразование данных во время обучения
В этом подходе преобразование является частью кода модели. Модель принимает необработанные данные и преобразует их.
Преимущества
- Вы по-прежнему можете использовать те же файлы необработанных данных, если измените преобразования.
- Вам гарантированы одинаковые преобразования во время обучения и прогнозирования.
Недостатки
- Сложные преобразования могут увеличить задержку модели.
- Преобразования происходят для каждой партии.
Преобразование данных для каждого пакета может оказаться сложной задачей. Например, предположим, что вы хотите использовать нормализацию Z-показателя для преобразования необработанных числовых данных. Нормализация Z-показателя требует среднего и стандартного отклонения признака. Однако преобразования в каждом пакете означают, что у вас будет доступ только к одному пакету данных , а не ко всему набору данных. Таким образом, если партии сильно различаются, Z-показатель, скажем, -2,5 в одной партии не будет иметь того же значения, что -2,5 в другой партии. В качестве обходного пути ваша система может предварительно вычислить среднее и стандартное отклонение для всего набора данных, а затем использовать их в качестве констант в модели.