Trainingsdaten vorbereiten

Auf dieser Seite wird beschrieben, wie Sie Trainingsdaten für den Import in AutoML Tables vorbereiten.

Einführung

Die Qualität der Trainingsdaten beeinflusst stark die Effizienz des von Ihnen erstellten Modells und folglich die Qualität der damit generierten Vorhersagen. Sie können die Daten nach dem Hochladen nicht mehr ändern. Wenn Sie Ihre Trainingsdaten nach dem Import ändern müssen, müssen Sie die Quelldaten aktualisieren und noch einmal importieren.

Wenn Sie verstehen, wie Ihre Daten von AutoML Tables interpretiert und genutzt werden, können Sie saubere, effektive Daten hochladen.

Problem verstehen

Zu Beginn der Erstellung effektiver Trainingsdaten ist wichtig, dass Ihr Problem klar definiert ist und die gewünschten Vorhersageergebnisse liefert. Wenn Sie noch nicht mit maschinellem Lernen vertraut sind, sehen Sie sich die mit AutoML Tables lösbaren Problemtypen an, um das passende Modell auszuwählen. Weitere Informationen zu den von AutoML Tables unterstützten Problemtypen finden Sie unter Problemtypen.

Inhalt des Datasets festlegen

Als Nächstes legen Sie fest, welche Daten für das Training verwendet werden sollen. In einigen Fällen können Sie eine Tabelle verwenden, die bereits in Ihren Geschäftsdaten vorhanden ist. Es kann jedoch auch sein, dass Sie Daten aus unterschiedlichen Quellen zusammenstellen, transformieren und gegebenenfalls aussortieren müssen, um möglichst effektive Trainingsdaten zu erhalten.

Anforderungen an Trainingsdaten

Ihre Trainingsdaten müssen folgende Anforderungen erfüllen:

  • Sie dürfen nicht größer als 100 GB sein.

  • Sie müssen den vorherzusagenden Wert – die Zielspalte – enthalten.

    Ohne diese Spalte können die Trainingsdaten in AutoML Tables nicht mit dem gewünschten Ergebnis verknüpft werden. Der Datentyp dieser Spalte bestimmt auch den Typ des Modells. Weitere Informationen

  • Es müssen mindestens zwei und höchstens 1.000 Spalten vorhanden sein.

    Neben der Zielspalte ist mindestens eine weitere Spalte mit einem Feature erforderlich, um das Modell trainieren zu können. Idealerweise haben Trainingsdaten mehr als zwei Spalten.

  • Es müssen mindestens 1.000 und nicht mehr als 100.000.000 Zeilen vorhanden sein.

    Zum Trainieren eines leistungsfähigen Modells reichen jedoch – je nach Anzahl der Features im Dataset – 1.000 Zeilen möglicherweise nicht aus. Weitere Informationen

Gegebenenfalls zusätzlich erforderliche Features

Darüber hinaus müssen die Trainingsdaten für bestimmte AutoML Tables-Funktionen spezielle Daten enthalten:

  • Wenn Sie steuern möchten, wie die Daten für das Training, die Validierung und Tests aufgeteilt werden, lesen Sie den Abschnitt Datenaufteilung steuern.

  • Wenn bestimmte Zeilen stärker als andere gewichtet werden sollen, lesen Sie den Abschnitt Trainingsdaten gewichten.

Weitere Best Practices für Daten finden Sie unter Best Practices zum Erstellen von Trainingsdaten.

Importquelle vorbereiten

Sie können Modelltrainingsdaten auf zwei Arten für AutoML Tables bereitstellen:

Welche Quelle Sie verwenden, hängt davon ab, wie die Daten gespeichert und wie umfangreich und komplex sie sind. Wenn das Dataset klein ist und Sie keine komplexeren Datentypen benötigen, können CSV-Dateien die einfachere Lösung sein. Für größere Datasets, die Arrays und Strukturen enthalten, ist BigQuery erforderlich.

Für beide Importquellen müssen Ihre Daten die folgenden Anforderungen erfüllen:

  • 1.000 bis 200.000.000 Zeilen
  • 2 bis 1.000 Spalten
  • 100 GB oder weniger

BigQuery

Die BigQuery-Tabelle muss ein multiregionales BigQuery-Dataset sein, das in der Region US oder EU gespeichert ist. Abhängig vom Speicherort der BigQuery-Tabelle und ihrer Datenquelle (die verschieden sein können) müssen Sie die in der Tabelle unten aufgeführten Berechtigungsaktualisierungen vornehmen. Beachten Sie, dass Berechtigungsänderungen für Ihr Homeprojekt (das Projekt, in dem sich AutoML Tables befindet) oder für das Fremdprojekt erforderlich sein können.

Tabellentyp Speicherort der Tabelle Speicherort der Datenquelle Rolle muss hinzugefügt werden
Native BigQuery-Tabelle Homeprojekt
Native BigQuery-Tabelle Fremdprojekt BigQuery Data Viewer für ein Fremdprojekt. Weitere Informationen
BigQuery-Ansicht Gleiches Projekt Nicht zutreffend
BigQuery-Ansicht Anderes Projekt BigQuery Data Viewer für ein Fremdprojekt. Weitere Informationen
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Homeprojekt Homeprojekt Bigtable Reader für das Homeprojekt. Weitere Informationen
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Homeprojekt Fremdprojekt Bigtable Reader für ein Fremdprojekt. Weitere Informationen
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Fremdprojekt Fremdprojekt BigQuery Reader und Bigtable Reader für ein Fremdprojekt. Weitere Informationen
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Homeprojekt Homeprojekt
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Homeprojekt Fremdprojekt Storage Object Viewer für ein Fremdprojekt. Weitere Informationen
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Fremdprojekt Fremdprojekt Storage Object Viewer und BigQuery Data Viewer für ein Fremdprojekt. Weitere Informationen
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Homeprojekt Geben Sie Ihre Tabellen-Datei für das AutoML-Dienstkonto frei. Weitere Informationen
Externe BigQuery-Datenquelle, die von Bigtable unterstützt wird Fremdprojekt BigQuery Reader für Fremdprojekte und teilen Sie Ihre Google Tabellen-Datei mit dem AutoML-Dienstkonto.

Sie brauchen für die BigQuery-Tabelle kein Schema anzugeben. Das Tabellenschema wird von AutoML Tables automatisch beim Import der Daten abgeleitet.

Ihr BigQuery-URI mit dem Speicherort Ihrer Trainingsdaten muss dem folgenden Format entsprechen:

bq://<project_id>.<dataset_id>.<table_id>

Der URI darf keine weiteren Sonderzeichen enthalten.

Informationen zu BigQuery-Datentypen und deren Zuordnung zu AutoML Tables finden Sie unter BigQuery-Tabellen. Weitere Informationen zur Verwendung externer BigQuery-Datenquellen finden Sie unter Einführung in externe Datenquellen.

CSV-Dateien

CSV-Dateianforderungen

CSV-Dateien können in Cloud Storage oder auf Ihrem lokalen Computer gespeichert sein. Sie müssen den folgenden Anforderungen entsprechen:

  • Die erste Zeile der ersten Datei muss ein Header sein, der die Namen der Spalten enthält. Wenn die erste Zeile einer nachfolgenden Datei mit dem Header identisch ist, wird sie auch als Header behandelt. Andernfalls wird sie als Daten behandelt.
  • Spaltennamen können beliebige alphanumerische Zeichen und Unterstriche (_) enthalten. Der Spaltenname darf nicht mit einem Unterstrich beginnen.
  • Als Trennzeichen muss ein Komma (,) verwendet werden.
  • Jede Datei darf maximal 10 GB groß sein.

    Sie können mehrere Dateien mit einer Gesamtgröße von maximal 100 GB importieren.

Sie brauchen für die CSV-Daten kein Schema anzugeben. Das Tabellenschema wird von AutoML Tables automatisch beim Import der Daten abgeleitet. Die Kopfzeile wird dabei für die Spaltennamen verwendet.

Weitere Informationen zum CSV-Dateiformat und zu den Datentypen finden Sie unter CSV-Dateien.

Anforderungen an Cloud Storage-Buckets

Wenn Sie Ihre Daten aus Cloud Storage importieren, müssen sie sich in einem Bucket befinden, der die folgenden Anforderungen erfüllt:

Wenn Sie Ihre Daten von Ihrem lokalen Computer importieren, benötigen Sie einen Cloud Storage-Bucket, der die folgenden Anforderungen erfüllt:

AutoML Tables verwendet diesen Bucket als Staging-Bereich, bevor die Daten importiert werden.

Sie müssen die Google Cloud Console verwenden, um CSV-Dateien von Ihrem lokalen Computer zu importieren.

So werden Datenaufteilungen verwendet

Wenn Sie ein Modell mit einem Dataset trainieren, werden Ihre Daten in drei Teile aufgeteilt: ein Trainings-Dataset, ein Validierungs-Dataset und ein Test-Dataset.

Die Trainings- und Validierungs-Datasets dienen zum Ausprobieren einer sehr großen Menge von Kombinationen aus Vorverarbeitungs-, Architektur- und Hyperparameteroptionen. Die Qualität der resultierenden Trainingsmodelle wird anschließend mit dem Validierungs-Dataset bewertet. Dabei wird außerdem ermittelt, welche zusätzlichen Optionskombinationen nützlich sein könnten.

Wenn sich durch weitere Bewertungen keine weiteren Qualitätsverbesserungen mehr ergeben, wird die Modellversion als das endgültige, leistungsstärkste trainierte Modell erachtet. Als Nächstes trainiert AutoML Tables zwei weitere Modelle mithilfe der in der parallelen Abstimmungsphase ermittelten Parameter und Architektur:

  1. Ein Modell wird mit Ihren Trainings- und Validierungs-Datasets trainiert.

    AutoML Tables erstellt die Messwerte für die Modellbewertung für dieses Modell mithilfe des Test-Datasets. Hierbei wird zum ersten Mal das Test-Dataset verwendet. Durch diesen Ansatz liefern die abschließenden Bewertungsmesswerte ein verzerrungsfreies Abbild der Leistung des endgültigen Trainingsmodells in der Produktion.

  2. Ein Modell wird mit Ihren Trainings-, Validierungs- und Test-Datasets trainiert.

    Mit diesem Modell fordern Sie Vorhersagen an.

Datenaufteilung steuern

Standardmäßig werden in AutoML Tables nach dem Zufallsprinzip 80 % der Datenzeilen für das Training, 10 % für die Validierung und 10 % für den Test ausgewählt. Wenn sich die Datasets im Lauf der Zeit nicht ändern, relativ ausgewogen sind und die Aufteilung der Daten widerspiegeln, die für Vorhersagen in der Produktion verwendet werden, reicht der zufällige Auswahlalgorithmus in der Regel aus. Wichtig ist vor allem, dass das Test-Dataset die in der Produktion verwendeten Daten exakt darstellt. Sie erhalten dadurch anhand der Bewertungsmesswerte einen genauen Einblick, wie gut das Modell mit realen Daten funktioniert.

Mitunter kann es von Vorteil sein, aktiv auszuwählen, welche Daten in welcher Datenaufteilung verwendet werden:

  • Die Daten sind zeitkritisch.

    Verwenden Sie in diesem Fall die Spalte Time (Zeit) oder eine manuelle Aufteilung, durch die für das Test-Dataset die neuesten Daten genutzt werden.

  • Ihre Testdaten enthalten Daten aus Gruppen, die in der Produktion nicht vertreten sind.

    Angenommen, Sie trainieren ein Modell mit den Kaufdaten mehrerer Geschäfte. Sie wissen jedoch, dass das Modell in erster Linie für Vorhersagen für Geschäfte verwendet wird, die nicht in den Trainingsdaten enthalten sind. Damit das Modell für nicht vorhandene Geschäfte verallgemeinert werden kann, sollten Sie die Datasets nach Geschäften segmentieren. Mit anderen Worten, Ihr Test-Dataset sollte nur Geschäfte enthalten, die sich von dem Bewertungs-Dataset unterscheiden. Das Bewertungs-Dataset sollte nur Geschäfte enthalten, die sich von dem Trainings-Dataset unterscheiden.

  • Die Klassen sind unausgeglichen.

    Wenn in den Trainingsdaten die Beispiele einer Klasse deutlich überwiegen, sollten Sie die Testdaten gegebenenfalls manuell durch weitere Beispiele der Minderheitenklasse ergänzen. Mit AutoML Tables werden keine geschichteten Stichproben durchgeführt. Das Test-Dataset kann daher zu wenig oder gar keine Beispiele der Minderheitenklasse enthalten.

Sie können mit zwei verschiedenen Ansätzen steuern, welche Zeilen für welche Aufteilung ausgewählt werden:

Wenn Sie sowohl eine Spalte für die Datenaufteilung als auch die Spalte "Time" (Zeit) angeben, wird nur die Spalte für die Datenaufteilung zur Datenaufteilung verwendet.

Spalte für die Datenaufteilung

In der Spalte für die Datenaufteilung können Sie bestimmte Zeilen auswählen, die für Training, Validierung und Tests verwendet werden sollen. Fügen Sie beim Erstellen der Trainingsdaten eine Spalte hinzu, die – unter Berücksichtigung der Groß- und Kleinschreibung – einen der folgenden Werte enthalten kann:

  • TRAIN
  • VALIDATE
  • TEST
  • UNASSIGNED

Die Werte in dieser Spalte müssen eine der beiden folgenden Kombinationen sein:

  • Sowohl TRAIN, VALIDATE als auch TEST
  • Nur TEST und UNASSIGNED

Jede Zeile muss einen Wert für diese Spalte haben. Sie kann keinen leeren String enthalten.

Zum Beispiel mit allen angegebenen Datasets:

"TRAIN","John","Doe","555-55-5555"
"TEST","Jane","Doe","444-44-4444"
"TRAIN","Roger","Rogers","123-45-6789"
"VALIDATE","Sarah","Smith","333-33-3333"

Nur mit dem angegebenen Test-Dataset:

"UNASSIGNED","John","Doe","555-55-5555"
"TEST","Jane","Doe","444-44-4444"
"UNASSIGNED","Roger","Rogers","123-45-6789"
"UNASSIGNED","Sarah","Smith","333-33-3333"

Die Spalte für die Datenaufteilung kann jeden gültigen Spaltennamen haben.

Wenn der Wert der Spalte für die Datenaufteilung UNASSIGNED ist, weist AutoML Tables diese Zeile automatisch dem Trainings- oder Validierungs-Dataset zu.

Nachdem Sie Ihre Daten importiert haben, wählen Sie eine manuelle Datenaufteilung aus und geben diese Spalte als Spalte für die Datenaufteilung an. (Sie können auch das Feld mlUseColumnSpecId verwenden.)

Spalte "Time" (Zeit)

Mithilfe der Spalte "Time" (Zeit) geben Sie an, dass Zeit ein wichtiger Faktor für die Daten ist. Sie werden dadurch von AutoML Tables zeitlich nicht nach dem Zufallsprinzip verteilt. Durch Angabe eines Wertes in der Spalte "Time" (Zeit) werden in AutoML Tables die ersten 80 % der Zeilen für das Training, die nächsten 10 % für die Validierung und die letzten 10 % für Tests verwendet.

AutoML Tables behandelt jede Zeile als unabhängiges und gleich verteiltes Trainingsbeispiel. Das Festlegen der Spalte "Time" (Zeit) ändert nichts daran. Die Spalte "Time" (Zeit) wird nur zum Aufteilen des Datasets verwendet.

Sie müssen für jede Zeile in Ihrem Dataset einen Wert für die Spalte "Time" (Zeit) angeben. Achten Sie darauf, dass die Spalte "Time" (Zeit) genügend verschiedene Werte hat, damit die Bewertungs- und Test-Datasets nicht leer sind. Normalerweise sind mindestens 20 verschiedene Werte ausreichend.

Die Spalte "Time" (Zeit) muss den Datentyp Timestamp haben.

Bei der Schemaüberprüfung wählen Sie diese Spalte als Spalte "Time" (Zeit) aus. (In der API verwenden Sie das Feld timeColumnSpecId.) Diese Auswahl ist nur wirksam, wenn Sie die Spalte für die Datenaufteilung nicht angegeben haben.

Wenn Sie eine zeitbezogene Spalte haben, die Sie nicht für die Datenaufteilung verwenden möchten, legen Sie den Datentyp für diese Spalte auf Timestamp fest, aber nicht als Spalte "Time" (Zeit).

Trainingsdaten gewichten

Standardmäßig wird in AutoML Tables jede Zeile der Trainingsdaten gleich gewichtet. Für das Training hat keine der Zeilen gegenüber einer anderen Vorrang.

Mitunter kann es für das Training jedoch wünschenswert sein, dass einige Zeilen wichtiger sind. Wenn Sie beispielsweise Ausgabendaten verwenden, möchten Sie vielleicht, dass die Daten zu kaufkräftigeren Kunden eine größere Auswirkung auf das Modell haben. Wenn es wichtig ist, dass ein bestimmtes Ergebnis in jedem Fall einbezogen wird, können Sie Zeilen mit diesem Ergebnis stärker gewichten.

Wenn Sie die Gewichtungsspalte in das Dataset einbeziehen, können Sie Zeilen ein relatives Gewicht zuweisen. Die Gewichtungsspalte muss eine numerische Spalte sein. Sie geben damit einen Wert zwischen 0 und 10.000 an. Je höher der Wert ist, desto stärker wird die Zeile von AutoML Tables während des Modelltrainings gewichtet. Mit einer Gewichtung von 0 wird die Zeile ignoriert. Wenn Sie eine Gewichtungsspalte einbeziehen, muss sie einen Wert für jede Zeile enthalten.

Wenn Sie das Schema später prüfen, legen Sie diese Spalte als Gewichtungsspalte fest. (Sie können auch das Feld weightColumnSpecId verwenden.)

Benutzerdefinierte Gewichtungsschemas werden nur zum Trainieren des Modells verwendet. Sie haben keinen Einfluss auf die Modellbewertung.

Anforderungen für die Zielspalte

Die Zielspalte muss die folgenden Anforderungen erfüllen:

  • Sie muss entweder kategorisch oder numerisch sein.
  • Wenn sie kategorisch ist, muss sie mindestens zwei und nicht mehr als 500 verschiedene Werte haben.
  • Darf keine Nullwerte enthalten.

Nächste Schritte