Nieprzetworzone dane muszą zostać opracowane (przekształcone). Kiedy należy przekształcać dane? Ogólnie rzecz biorąc, inżynierię cech można przeprowadzić w następujące 2 okresy:
- Przed trenowaniem modelu.
- Podczas trenowania modelu.
Przekształcanie danych przed trenowaniem
W takim przypadku musisz wykonać 2 czynności:
- Pisz kod lub używaj specjalistycznych narzędzi aby przekształcić nieprzetworzone dane.
- Przechowuj przekształcone dane w miejscu, w którym model może przetwarzać dane, np. tak jak na dysku.
Zalety
- System przekształca nieprzetworzone dane tylko raz.
- System może przeanalizować cały zbiór danych, aby określić najlepszą i transformacji.
Wady
- Musisz odtworzyć przekształcenia w prognozowanym czasie. Uważaj na zniekształcenia między trenowaniem a zastosowaniem.
Zniekształcenia między trenowaniem a zastosowaniem są bardziej niebezpieczne, gdy system działa dynamicznie (online). W systemie, który wykorzystuje wnioskowanie dynamiczne, oprogramowanie, które przekształca dane nieprzetworzony zbiór danych różni się zwykle od oprogramowania służącego do wyświetlania prognoz, co może powodować zniekształcenia między trenowaniem a zastosowaniem. Z kolei systemy, które wykorzystują wnioskowanie statyczne (offline), mogą czasami korzystają z tego samego oprogramowania.
Przekształcanie danych podczas trenowania
W tym podejściu przekształcenie jest częścią kodu modelu. Model pozyskuje nieprzetworzone dane i przekształca je.
Zalety
- Jeśli zmienisz przekształcenia, nadal możesz używać tych samych nieprzetworzonych danych.
- W czasie trenowania i prognozowania masz zapewnione te same przekształcenia.
Wady
- Złożone przekształcenia mogą zwiększyć czas oczekiwania modelu.
- Przekształcenia występują dla każdej wsadu.
Transformacja danych dla pojedynczej partii może być trudna. Załóżmy na przykład, że chcesz użyj normalizacji wyniku Z, nieprzetworzone dane liczbowe. Normalizacja wyniku Z wymaga średniej oraz odchylenie standardowe cechy. Jednakże dzięki przekształceniu na wsad będziesz mieć dostęp tylko do jedną porcję danych, a nie cały zbiór danych. Jeśli partie są bardzo popularne wynik, np. -2, 5 w jednej partii, nie oznacza tego samego znaczenia. jako -2,5 w innej grupie. Aby obejść ten problem, system może wstępnie obliczyć średnią i odchylenie standardowe w całym zbiorze danych, a potem używać ich jako stałych w modelu.