Системи машинного навчання, які працюють у реальних умовах: коли трансформувати дані

Необроблені дані мають пройти через конструювання ознак (трансформації). Коли слід трансформувати дані? Загалом, конструювання ознак можна виконати протягом будь-якого із цих двох періодів:

  • перед навчанням моделі;
  • під час навчання моделі.

Трансформація даних перед навчанням

Цей підхід передбачає два кроки:

  1. Написати код або використовувати спеціалізовані інструментидля трансформації необроблених даних.
  2. Зберегти трансформовані дані в місці, з якого модель могла отримати й імпортувати їх (наприклад, на диску).

Переваги

  • Система трансформує необроблені дані лише один раз.
  • Система може аналізувати весь набір даних, щоб визначити найкращу стратегію трансформації.

Недоліки

Різниця між ефективністю в навчальному й робочому режимах небезпечніша, коли система виводить результати динамічно (онлайн). У системі з динамічним виведенням результатів програмне забезпечення, що трансформує набір необроблених даних, зазвичай відрізняється від того, яке виводить прогнози, що може спричинити різницю між ефективністю в навчальному й робочому режимах. А системи, що виводять результати статично (офлайн), іноді можуть використовувати те саме програмне забезпечення.

Трансформація даних під час навчання

За цим підходом за трансформацію відповідає частина коду моделі. Модель отримує і імпортує необроблені дані й трансформує їх.

Переваги

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

Недоліки

  • Складні трансформації можуть збільшити затримку моделі.
  • Трансформується кожен пакет.

Трансформація даних пакет за пакетом може бути складним процесом. Припустімо, що ви хочете використовувати нормалізацію значення Z, щоб трансформувати необроблені числові дані. Для нормалізації значення Z потрібні середнє значення й стандартне відхилення ознаки. Однак якщо дані трансформуються пакет за пакетом, ви матимете доступ лише до одного їх пакета, а не до повного набору. Отже, якщо дані пакетів дуже відрізняються, значення Z, наприклад, –2,5 матиме тільки один із них, а не всі. Щоб це не стало проблемою, система може попередньо обчислити середнє значення й стандартне відхилення для всього набору даних, а потім використовувати їх як константи в моделі.