Einführung in die Transformation von Daten

Mit Feature Engineering wird ermittelt, welche Features für das Trainieren eines Modells nützlich sein können. Diese Features können dann durch Umwandlung von Rohdaten in Protokolldateien und anderen Quellen erstellt werden. In diesem Abschnitt liegt der Schwerpunkt darauf, wann und wie numerische und kategorische Daten transformiert werden. Außerdem geht es um die Vor- und Nachteile verschiedener Ansätze.

Gründe für die Datentransformation

Funktionen werden hauptsächlich aus folgenden Gründen transformiert:

  1. Obligatorische Transformationen für die Datenkompatibilität. Beispiele:

    • Nicht numerische Features in numerische Werte umwandeln Die Matrixmultiplikation für einen String ist nicht möglich. Daher muss der String in eine numerische Darstellung konvertiert werden.
    • Die Größe der Eingaben wird auf eine feste Größe angepasst. Lineare Modelle und neuronale Feed-Netzwerke haben eine feste Anzahl von Eingabeknoten, sodass Ihre Eingabedaten immer dieselbe Größe haben müssen. Beispielsweise müssen Bildermodelle die Bilder in ihrem Dataset auf eine feste Größe umformen.
  2. Optionale Qualitätstransformationen, die dazu beitragen können, dass das Modell eine bessere Leistung erzielt. Beispiele:

    • Tokenisierung oder Groß-/Kleinschreibung von Textfunktionen
    • Normalisierte numerische Features (die meisten Modelle funktionieren danach besser).
    • Lineare Modelle ermöglichen, nicht lineare Positionen im Featurebereich einzuführen.

Streng genommen sind Qualitätstransformationen nicht erforderlich – Ihr Modell könnte trotzdem ohne sie ausgeführt werden. Mit diesen Techniken kann das Modell jedoch zu besseren Ergebnissen führen.

Wo kann transformiert werden?

Transformationen können entweder beim Generieren der Daten auf dem Laufwerk oder innerhalb des Modells angewendet werden.

Vor dem Training transformieren

Bei diesem Ansatz führen wir die Transformation vor dem Training durch. Dieser Code unterscheidet sich von Ihrem Modell für maschinelles Lernen.

Vorteile

  • Die Berechnung wird nur einmal durchgeführt.
  • Die Rechenleistung kann sich auf das gesamte Dataset beziehen, um die Transformation zu bestimmen.

Nachteile

  • Transformationen müssen zum Vorhersagezeitpunkt reproduziert werden. Seien Sie skeptisch!
  • Alle Transformationsänderungen erfordern eine erneute Datengenerierung, was zu langsameren Iterationen führt.

Die Verzerrung ist bei Fällen mit Onlinebereitstellung gefährlicher. Bei der Offlinebereitstellung können Sie möglicherweise den Code wiederverwenden, der Ihre Trainingsdaten generiert. Bei der Onlinebereitstellung unterscheidet sich der Code, der das Dataset erstellt, und der Code für die Verarbeitung von Live-Traffic fast zwangsläufig, was eine gewisse Verzerrung ermöglicht.

Transformation innerhalb des Modells

Bei diesem Ansatz ist die Transformation Teil des Modellcodes. Das Modell nimmt nicht transformierte Daten als Eingabe auf und transformiert sie innerhalb des Modells.

Vorteile

  • Einfache Iterationen Wenn Sie die Transformationen ändern, können Sie weiterhin dieselben Datendateien verwenden.
  • Garantiert werden zum Zeitpunkt des Trainings und der Vorhersage dieselben Transformationen.

Nachteile

  • Teure Transformationen können die Modelllatenz erhöhen.
  • Transformationen erfolgen pro Batch.

Bei der Umwandlung pro Batch sind viele Aspekte zu beachten. Angenommen, Sie möchten ein Feature anhand des Durchschnittswerts normalisieren, also die Durchschnittswerte 0 und Standardabweichung 1. Bei der Transformation innerhalb des Modells hat diese Normalisierung nur auf einen Batch Daten, nicht auf das gesamte Dataset. Sie können entweder den Durchschnittswert innerhalb eines Batches normalisieren (gefährlich, wenn Batches sehr variabel sind), oder den Durchschnitt vorab berechnen und als Konstante im Modell korrigieren. Im nächsten Abschnitt erfahren Sie mehr über die Normalisierung.

Ihre Daten untersuchen, bereinigen und visualisieren

Prüfen und bereinigen Sie Ihre Daten, bevor Sie sie transformieren. Wenn Sie das Dataset erfasst und erstellt haben, haben Sie möglicherweise die folgenden Aufgaben ausgeführt:

  • Überprüfen Sie mehrere Datenzeilen.
  • Prüfen Sie die grundlegenden Statistiken.
  • Korrigieren Sie die fehlenden numerischen Einträge.

Häufiges Visualisieren von Daten: Mithilfe von Grafiken können Anomalien oder Muster ermittelt werden, die anhand numerischer Statistiken nicht klar ersichtlich sind. Daher sollten Sie Ihre Daten grafisch in Diagrammform darstellen lassen, bevor Sie zu weit in die Analyse einsteigen. Sehen Sie sich Diagramme nicht nur am Anfang der Pipeline, sondern auch während der Transformation an. Mithilfe von Visualisierungen können Sie Ihre Annahmen kontinuierlich überprüfen und die Auswirkungen größerer Änderungen sehen.