Datentypen

Auf dieser Seite wird erläutert, welche Datentypen Sie in ein AutoML Tables-Dataset importieren können und wie diese Typen BigQuery oder CSV zugeordnet werden.

Einführung

Beim Importieren von Trainingsdaten wird Ihnen von AutoML Tables für jede Spalte ein Datentyp vorgeschlagen. Der Vorschlag basiert auf dem nativen Typ der eingegebenen Daten und den Werten in der jeweiligen Spalte. Der Datentyp der Spalte ist wichtig. Er beeinflusst, wie diese Spalte für das Modelltraining verwendet wird. Überprüfen Sie nach dem Import der Daten, ob für jede Spalte der passende Datentyp ausgewählt wurde.

Das Dataset wird beim Erstellen des Modells in eine Liste von Zeilenobjekten mit eigenen Datentypen umgewandelt. Wenn Sie Onlinevorhersagen verwenden, müssen Sie die Daten umwandeln, um dieses Format verwenden zu können.

AutoML Tables-Datentypen

Kategorial

Kategorialer Wert stellt Werte in einer Kategorie dar. Also nur auf einer nominalen Ebene. Die Werte unterscheiden sich nur aufgrund ihres Namens – ohne Reihenfolge. Sie können kategoriale Werte mithilfe von Zahlen darstellen, wobei die Werte keine numerische Beziehung zueinander haben. Das heißt, eine kategoriale 1 ist nicht "größer" als eine kategoriale 0.

Hier ein paar Beispiele für kategoriale Werte:

  • Boolesch – true, false.
  • Land – "USA", "Canada", "China" und so weiter.
  • HTTP-Statuscode – "200", "404", "500" und so weiter.

Bei kategorialen Werten wird zwischen Groß- und Kleinschreibung unterschieden. Schreibvarianten werden als unterschiedliche Kategorien behandelt. "Potenzial" und "Potential" werden beispielsweise nicht kombiniert.

Text

Ein Textwert steht für Freitext, der normalerweise aus Texttoken besteht.

Hier ein paar Beispiele für Textwerte:

  • "The quick brown fox"
  • "This restaurant is the best! The food is delicious"

Textfelder werden für das Modelltraining durch Leerzeichen in Tokens geparst.

Numerisch

Ein numerischer Wert stellt eine Ordnungszahl oder quantitative Zahl dar. Diese Zahlen können verglichen werden. Das heißt, zwei unterschiedliche Zahlen können kleiner oder größer als die andere Zahl sein.

AutoML Tables interpretiert jeden kompatiblen String als numerisch. Voran- oder nachgestellte Leerzeichen werden abgeschnitten.

In der folgenden Tabelle sind alle kompatiblen Formate für den numerischen Datentyp aufgeführt:

Format Beispiele Notes
Numerischer String "101", 101.5" Das Punktzeichen (".") Ist das einzige gültige Dezimaltrennzeichen. "101.5" und "100.000" sind keine gültigen numerischen Strings.
Wissenschaftliche Schreibweise "1.12345E+11", "1.12345e+11" Siehe Hinweise zu numerischen Strings in Bezug auf Dezimaltrennzeichen.
Not a number (Keine Zahl) "NAN", "nan", "+NAN" Groß-/Kleinschreibung wird ignoriert. Vorangestellte Plus- ("+") oder Minuszeichen ("-") werden ignoriert. Wird als NULL-Wert interpretiert.
Infinity (Unendlich) "INF", "+inf" Groß-/Kleinschreibung wird ignoriert. Vorangestellte Plus- ("+") oder Minuszeichen ("-") werden ignoriert. Wird als NULL-Wert interpretiert.

Zeitstempel

Ein Zeitstempelwert stellt eine Zeit dar, entweder als amtliche Zeitangabe mit einer Zeitzone oder als Unix-Zeitstempel. Für die Zeitspalte können nur Merkmale verwendet werden, die einen Zeitstempel darstellen.

Wenn für die amtliche Zeit keine Zeitzone angegeben ist, wird standardmäßig UTC verwendet.

In der folgenden Tabelle werden alle kompatiblen Timestring-Formate aufgeführt:

Format Beispiel Notes
%E4Y-%m-%d "2017-01-30" Eine Beschreibung dieses Formats finden Sie in der Abseil-Dokumentation.
%E4Y/%m/%d "2017/01/30"
%Y/%m/%d %H:%M:%E*S "2017/01/30 23:59:58"
%d-%m-%E4Y "30-11-2018"
%d/%m/%E4Y "30/11/2018"
%d-%B-%E4Y "30-November-2018"
%Y-%m-%dT%H:%M:%E*S%Ez "2019-05-17T23:56:09.05Z" RFC 3339
Unix-Zeitstempel-String in Sekunden "1541194447" Nur für Zeiten zwischen 01. Jan. 1990 und 01. Jan. 2030.
Unix-Zeitstempel-String in Millisekunden "1541194447000"
Unix-Zeitstempel-String in Mikrosekunden "1541194447000000"
Unix-Zeitstempel-String in Nanosekunden "1541194447000000000"

Struct

Mit einem Struct kann eine Gruppe beschrifteter Felder dargestellt werden. Ein Struct enthält eine Liste von Feldnamen, die jeweils mit einem Datentyp verknüpft sind. Die Liste der Felder und deren Datentypen müssen für alle Struct-Werte einer Spalte gleich sein.

Hier ein paar Beispiele für Structs:

  • Blutdruck – {"timestamp": 1535761416, "systolic": 110, "diastolic": 70}
  • Produkt – {"name": "iPhone", price: 1000}

Structs werden mit dem BigQuery-Datentyp STRUCT dargestellt.

Array

Mit einem Array können Sie eine Liste von Werten darstellen. Die enthaltenen Werte müssen denselben Datentyp haben. Sie können zusammengesetzte Datentypen (Structs) in ein Array aufnehmen. Alle Strukturen müssen die gleiche Struktur haben.

AutoML Tables verarbeitet Arrays mit relativer Gewichtung. Dies bedeutet, dass später im Array aufgeführte Elemente gegenüber früher darin vorkommenden Elementen stärker gewichtet werden.

Hier ein paar Beispiele für Arrays:

  • Produktkategorien;

    ["Clothing", "Women", "Dress", ...]

  • Letzte Käufe:

    ["iPhone", "Laptop", "Suitcase", ...]

  • Nutzerdatensätze:

    [{"name": "Joelle", ID: 4093}, {"name": "Chloe", ID: 2047}, {"name": "Neko", ID: 3432}, ...]

Arrays werden mit dem BigQuery-Datentyp ARRAY dargestellt.

Format der Spaltennamen

Wenn Sie das Schema für BigQuery oder die Kopfzeile für CSV erstellen, benennen Sie die Spalten (Merkmale) in den Trainingsdaten. Spaltennamen können ein beliebiges alphanumerisches Zeichen oder einen Unterstrich (_) enthalten. Der Spaltenname darf nicht mit einem Unterstrich beginnen.

BigQuery-Tabellen

Unterstützte Datentypen

Vor dem Erstellen einer BigQuery-Tabelle sollten Sie wissen, welche BigQuery-Datentypen unterstützt und wie sie AutoML Tables-Datentypen zugeordnet werden.

BigQuery-Datentyp Import unterstützt? AutoML Tables-Datentypen
INT64 Ja Numerisch, Kategorial
NUMERIC J Numerisch, Kategorial
FLOAT64 Ja Numerisch, Kategorial
BOOL Ja Kategorial
STRING Ja Text, Kategorial, Numerisch
BYTES N
DATE Ja Zeitstempel, Kategorial
DATETIME Ja Zeitstempel, Kategorial
GEOGRAPHY N
TIME Ja Kategorial
TIMESTAMP J Zeitstempel, Kategorial
ARRAY Ja Array
STRUCT J Struct

CSV-Dateien

Unterstützte Datentypen

Alle CSV-Daten werden als String importiert. Sie können für den Import als CSV-Datei die folgenden AutoML Tables-Datentypen verwenden:

  • Text
  • Kategorial
  • Numerisch
  • Zeitstempel

CSV-Format

AutoML Tables verwendet das CSV-Format RFC 4180.

Format für Zeilenobjekte

Wenn Sie eine Onlinevorhersage anfordern, müssen Sie die Vorhersagedaten als JSON-Darstellung eines Zeilenobjekts angeben. In der folgenden Tabelle sind die zulässigen Datenformate für jeden AutoML Tables-Datentyp aufgeführt. Sie können das für Sie am einfachsten bereitzustellende Datenformat auswählen.

AutoML Tables-Datentyp Objektdatentypen Row Formate
Kategorial bool_type true, false
string_value „42“
„blau“
„2014-01-31“
„2014-01-31 13:14:15.123456789“
„21:02:42.118039“
„1553040000“ (UNIX-Zeitstempel)
Numerisch string_value "42,3"
number_value 42.3
Text string_value "Der schnelle braune Fuchs"
Zeitstempel string_value „2014-01-31“
„2014-01-31 13:14:15.123456789“
„1553040000“ (UNIX-Zeitstempel)
Array list_value ["Hund", "Katze", "Fisch"]
Struct struct_value {"field1": "ABC", "field2": 100}

Nächste Schritte