Daten für integrierte Algorithmen vorverarbeiten

Auf dieser Seite erhalten Sie eine Übersicht darüber, wie AI Platform Ihre Daten mit integrierten Algorithmen für das Training vorverarbeitet. Außerdem werden hier die Anforderungen und Einschränkungen für Ihre Eingabedaten erläutert.

Eingabedaten formatieren

Ihre Eingabedaten müssen in einer CSV-Datei mit UTF-8-Codierung vorliegen.

Damit Ihre CSV-Eingabedatei die Anforderungen erfüllt, müssen Sie sie so vorbereiten:

  • Die Kopfzeile muss entfernt werden. Die Kopfzeile enthält die Labels für jede Spalte. Entfernen Sie sie, damit sie nicht mit dem Rest der Dateninstanzen als Teil der Trainingsdaten gesendet wird.
  • Die Zielspalte muss die erste Spalte sein. Die Zielspalte enthält den Wert, den Sie vorhersagen möchten. Bei einem Klassifizierungsalgorithmus werden alle Werte in der Zielspalte als Klasse oder Kategorie dargestellt. Bei einem Regressionsalgorithmus sind alle Werte in der Zielspalte numerische Werte.

Funktionsweise der Vorverarbeitung

Die automatische Vorverarbeitung kann für kategoriale und numerische Daten verwendet werden. Durch die Vorverarbeitungsroutine werden die Daten zuerst analysiert und dann transformiert.

Analyse

Als Erstes analysiert AI Platform das Dataset Spalte für Spalte. Dabei ermittelt der Dienst automatisch den Datentyp jeder Spalte. Anschließend stellt AI Platform fest, wie die einzelnen Spalten zu behandeln sind und berechnet einige Statistiken zu den Daten in der Spalte. Die Ergebnisse dieser Analyse werden vom Trainingsjob in der Datei metadata.json erfasst, die zusammen mit anderen Trainingsartefakten in Ihrem Cloud Storage-Bucket enthalten ist.

  • Typ: Die Spalte kann entweder numerisch oder kategorial sein.
  • Behandlung: Durch den Algorithmus wird ermittelt, wie die einzelnen Spalten zu behandeln sind. Spalten können als Konstanten oder als Zeilenkennzeichnungen behandelt werden. Kategoriale Spalten können außerdem nach Identität oder Vokabular gekennzeichnet werden, je nachdem, ob die kategorialen Werte Ganzzahlen oder Strings sind. Eine Spalte mit einer großen Anzahl von Kategorien wird mit Hashing verarbeitet, um eine kleinere, überschaubarere Anzahl von Kategorien zu berechnen.
  • Statistiken: Statistiken werden berechnet, um die Merkmale in jeder Spalte basierend auf dem Typ und der Behandlung der Spalte zu transformieren.

Umwandeln

Nach Abschluss der anfänglichen Analyse des Datasets transformiert AI Platform Ihre Daten anhand der Typen, der Verarbeitung und der Statistik, die auf das Dataset angewendet werden. AI Platform führt die Transformationen in der folgenden Reihenfolge durch:

  1. Das Trainings-Dataset wird in Validierungs- und Test-Datasets aufgeteilt, wenn Sie Prozentwerte für die Aufteilung angeben.
  2. Zeilen, in denen mehr als 10 % der Merkmale fehlen, werden entfernt.
  3. Fehlende Werte werden ergänzt. Für numerische Spalten wird der Mittelwert verwendet. Für XGBoost werden für kategoriale Spalten Nullen verwendet.

Beispieltransformationen

Zeilen, in denen 10 % der Werte fehlen, werden entfernt. In den folgenden Beispielen wird angenommen, dass die Zeile 10 Werte enthält. Der Einfachheit halber ist jede Beispielzeile abgeschnitten.

Zeilenproblem Ursprüngliche Werte Transformierte Werte Erläuterung
Beispielzeile ohne fehlende Werte [3, 0,45, ...,
"Früchte", 0, 1]
[3, 0,45, ...,
1, 0, 0, 0, 1]
Der String "Früchte" wird in die Werte "1, 0, 0" in One-Hot-Codierung transformiert. Bei TensorFlow-basierten Algorithmen geschieht dies in der TensorFlow-Grafik. Für XGBoost wird diese Transformation in AI Platform durchgeführt.
Zu viele fehlende Werte [3, 0,45, ...,
"Früchte", __, __]
Zeile wird entfernt In der Zeile fehlen mehr als 10 % der Werte.
Fehlender numerischer Wert [3, 0,45, ...,
"Früchte", 0, __]
[3, 0,45, ...,
1, 0, 0, 0, 0,54]
  • Der Mittelwert für die Spalte ersetzt den fehlenden numerischen Wert. In diesem Beispiel beträgt der Mittelwert 0,54.
  • Der String "Früchte" wird in die Werte "1, 0, 0" in One-Hot-Codierung transformiert. Bei TensorFlow-basierten Algorithmen geschieht dies in der TensorFlow-Grafik. Für XGBoost wird diese Transformation in AI Platform durchgeführt.
Fehlender kategorialer Wert [3, 0,45, ...,
__, 0, 1]
[3, 0,45, ...,
0, 0, 0, 0, 1]
  • Der fehlende kategoriale Wert wird in die Werte "0, 0, 0" in One-Hot-Codierung transformiert. Bei TensorFlow-basierten Algorithmen geschieht dies in der TensorFlow-Grafik. Für XGBoost wird diese Transformation in AI Platform durchgeführt.

Je nach ML-Framework, auf dem der integrierte Algorithmus basiert, gibt es weitere Unterschiede im Transformationsprozess. Bei den TensorFlow-basierten integrierten Algorithmen (Linear Learner, Wide and Deep) entsprechen die Spaltenbehandlungen direkt den Feature-Spalten, die im TensorFlow-Modell erstellt werden. AI Platform weist dem TensorFlow Estimator-Modell Feature-Spalten zu. Anschließend wird die Datentransformation zu einem Teil der Vorverarbeitung, die innerhalb des TensorFlow Estimator-Modells stattfindet.

Andernfalls wendet AI Platform wie bei XGBoost Spaltenbehandlungen an und führt die Datentransformationen direkt aus.

Verfügbare Algorithmen

Einzelheiten zur Funktionsweise der Vorverarbeitung für jeden integrierten Algorithmus finden Sie in der entsprechenden Anleitung:

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...