Rohdaten müssen Feature Engineering (Transformieren) durchlaufen haben. Wann sollten Sie Daten transformieren? Im Allgemeinen können Sie Feature Engineering in einem der folgenden Zeiträume durchführen:
- Vor dem Training des Modells.
- Während des Modelltrainings
Daten vor dem Training transformieren
Bei diesem Ansatz führen Sie zwei Schritte aus:
- Schreiben Sie Code oder verwenden Sie spezielle Toolsum die Rohdaten zu transformieren.
- Speichern Sie die transformierten Daten an einem Ort, an dem das Modell sie aufnehmen kann, z. B. auf dem Laufwerk.
Vorteile
- Das System transformiert Rohdaten nur einmal.
- Das System kann den gesamten Datensatz analysieren, um die beste Transformationsstrategie zu ermitteln.
Nachteile
- Sie müssen die Transformationen zum Zeitpunkt der Vorhersage neu erstellen. Achten Sie auf Abweichungen zwischen Training und Bereitstellung.
Abweichungen beim Training und bei der Bereitstellung sind gefährlicher, wenn Ihr System dynamische (Online-)Inferenzen durchführt. Bei einem System mit dynamischer Inferenz unterscheidet sich die Software, die den Rohdatensatz transformiert, in der Regel von der Software, die Vorhersagen bereitstellt. Dies kann zu Abweichungen zwischen Training und Bereitstellung führen. Bei Systemen mit statischer (offline) Inferenz kann dagegen manchmal dieselbe Software verwendet werden.
Daten während des Trainings transformieren
Bei diesem Ansatz ist die Transformation Teil des Modellcodes. Das Modell nimmt Rohdaten auf und transformiert sie.
Vorteile
- Sie können dieselben Rohdatendateien verwenden, wenn Sie die Transformationen ändern.
- So können Sie sicher sein, dass beim Training und bei der Vorhersage dieselben Transformationen angewendet werden.
Nachteile
- Komplizierte Transformationen können die Modelllatenz erhöhen.
- Transformationen werden für jeden einzelnen Batch ausgeführt.
Die Daten per Batch zu transformieren, kann schwierig sein. Angenommen, Sie möchten Rohdaten mithilfe der Z-Score-Normalisierung transformieren. Für die Z-Score-Normalisierung sind der Mittelwert und die Standardabweichung des Merkmals erforderlich. Bei Transformationen pro Batch haben Sie jedoch nur Zugriff auf einen Datensatz, nicht auf den gesamten Datensatz. Wenn die Batches also stark variieren, hat ein Z-Wert von beispielsweise -2,5 in einem Batch nicht dieselbe Bedeutung wie -2,5 in einem anderen Batch. Als Problemumgehung kann Ihr System den Mittelwert und die Standardabweichung für den gesamten Datensatz vorab berechnen und dann als Konstanten im Modell verwenden.