Необроблені дані мають пройти через конструювання ознак (трансформації). Коли слід трансформувати дані? Загалом, конструювання ознак можна виконати протягом будь-якого із цих двох періодів:
- перед навчанням моделі;
- під час навчання моделі.
Трансформація даних перед навчанням
Цей підхід передбачає два кроки:
- Написати код або використовувати спеціалізовані інструментидля трансформації необроблених даних.
- Зберегти трансформовані дані в місці, з якого модель могла отримати й імпортувати їх (наприклад, на диску).
Переваги
- Система трансформує необроблені дані лише один раз.
- Система може аналізувати весь набір даних, щоб визначити найкращу стратегію трансформації.
Недоліки
- Необхідно відтворити трансформації під час прогнозування. Остерігайтеся різниці між ефективністю в навчальному й робочому режимах!
Різниця між ефективністю в навчальному й робочому режимах небезпечніша, коли система виводить результати динамічно (онлайн). У системі з динамічним виведенням результатів програмне забезпечення, що трансформує набір необроблених даних, зазвичай відрізняється від того, яке виводить прогнози, що може спричинити різницю між ефективністю в навчальному й робочому режимах. А системи, що виводять результати статично (офлайн), іноді можуть використовувати те саме програмне забезпечення.
Трансформація даних під час навчання
За цим підходом за трансформацію відповідає частина коду моделі. Модель отримує і імпортує необроблені дані й трансформує їх.
Переваги
- Можна використовувати ті самі файли необроблених даних, якщо ви вирішили змінити трансформації.
- Трансформації, що виконуються під час навчання й прогнозування, гарантовано будуть однакові.
Недоліки
- Складні трансформації можуть збільшити затримку моделі.
- Трансформується кожен пакет.
Трансформація даних пакет за пакетом може бути складним процесом. Припустімо, що ви хочете використовувати нормалізацію значення Z, щоб трансформувати необроблені числові дані. Для нормалізації значення Z потрібні середнє значення й стандартне відхилення ознаки. Однак якщо дані трансформуються пакет за пакетом, ви матимете доступ лише до одного їх пакета, а не до повного набору. Отже, якщо дані пакетів дуже відрізняються, значення Z, наприклад, –2,5 матиме тільки один із них, а не всі. Щоб це не стало проблемою, система може попередньо обчислити середнє значення й стандартне відхилення для всього набору даних, а потім використовувати їх як константи в моделі.