Nieprzetworzone dane muszą zostać przetworzone (przekształcone). Kiedy należy przekształcić dane? Ogólnie mówiąc, możesz przeprowadzić inżynierię cech w jednym z tych 2 okresów:
- Przed wytrenowaniem modelu.
- Podczas trenowania modelu.
Przekształcanie danych przed trenowaniem
W tym podejściu należy wykonać 2 kroki:
- Aby przekształcić dane nieprzetworzone, możesz napisać kod lub użyć specjalistycznych narzędzi.
- Przechowuj przekształcone dane w miejscu, w którym model może je pobrać, np. na dysku.
Zalety
- System przekształca nieprzetworzone dane tylko raz.
- System może przeanalizować cały zbiór danych, aby określić najlepszą strategię przekształcania.
Wady:
- W momencie prognozowania musisz ponownie utworzyć przekształcenia. Uważaj na zniekształcenie między trenowaniem a zastosowaniem praktycznym.
Odchylenie w przypadku treningu i obsługi jest bardziej niebezpieczne, gdy system wykonuje dynamiczną (online) wnioskowanie. W systemie, który korzysta z dynamicznej dedukcji, oprogramowanie, które przekształca nieprzetworzony zbiór danych, zwykle różni się od oprogramowania, które służy do generowania prognoz. Może to powodować rozbieżność między trenowaniem a obsługą. Z drugiej strony systemy, które korzystają z statycznej (offline) analizy, mogą czasami używać tego samego oprogramowania.
Przekształcanie danych podczas trenowania
W przypadku tego podejścia transformacja jest częścią kodu modelu. Model pobiera nieprzetworzone dane i je przekształca.
Zalety
- Jeśli zmienisz przekształcenia, nadal możesz używać tych samych plików danych nieprzetworzonych.
- Masz pewność, że podczas trenowania i prognozowania będą zachodzić te same przekształcenia.
Wady:
- Złożone przekształcenia mogą wydłużać czas oczekiwania na model.
- Przekształcenia są przeprowadzane w przypadku każdego zbioru.
Przekształcanie danych w ramach partii może być trudne. Załóżmy na przykład, że chcesz użyć normalizacji według wartości znormalizowanej Z-score do przekształcenia nieprzetworzonych danych liczbowych. Normalizacja z-score wymaga średniej i odchylenia standardowego cechy. Jednak przekształcenia na potrzeby wsadów oznaczają, że będziesz mieć dostęp tylko do jednego zbioru danych, a nie do całego zbioru danych. Jeśli więc partie są bardzo zróżnicowane, współczynnik Z-score wynoszący np. –2,5 w jednej partii nie będzie miał tego samego znaczenia co –2,5 w innej partii. Aby tego uniknąć, system może wstępnie obliczyć średnią i odchylenie standardowe w całym zbiorze danych, a następnie użyć ich jako stałych w modelu.