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} |