Types de données

Cette page décrit les types de données que vous pouvez importer dans un ensemble de données AutoML Tables et leur correspondance dans BigQuery ou CSV.

Introduction

Lorsque vous importez des données d'entraînement, AutoML Tables suggère un type de données pour chaque colonne en fonction du type natif des données d'entrée et des valeurs de la colonne. Le type de données de la colonne est important, car il affecte la manière dont cette colonne est utilisée pour l'entraînement du modèle. Après avoir importé vos données, vous examinez chaque colonne pour vous assurer que le type de données choisi par AutoML Tables est bien celui qui convient.

Lorsque vous créez le modèle, l'ensemble de données est converti en une liste d'objets Ligne, qui contient ses propres types de données. Si vous utilisez les prédictions en ligne, vous devez convertir vos données pour utiliser ce format.

Types de données AutoML Tables

Catégorielle

La valeur catégorielle représente les valeurs dans une catégorie. Il s'agit d'un niveau nominal. Les valeurs ne diffèrent que par leur nom, sans ordre particulier. Vous pouvez représenter les valeurs catégorielles par des nombres, mais les valeurs n'ont pas de relation numérique les unes avec les autres. C'est-à-dire qu'un 1 catégoriel ne signifie pas "supérieur" à un 0 catégoriel.

Voici quelques exemples de valeurs catégorielles :

  • Booléen : true, false.
  • Pays : "USA", "Canada", "China", etc.
  • Code d'état HTTP : "200", "404", "500", etc.

Les valeurs catégorielles sont sensibles à la casse. Les variations orthographiques sont traitées comme des catégories différentes (par exemple, "Color" et "Colour" ne sont pas combinés).

Texte

Une valeur de texte représente un texte libre, généralement composé de segments de texte.

Voici quelques exemples de valeurs de texte :

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

Pour l'entraînement de modèle, les champs de texte sont analysés par segments séparés par des espaces.

Numérique

Une valeur numérique représente un nombre ordinal ou quantitatif. Ces nombres peuvent être comparés. C'est-à-dire que deux nombres distincts peuvent être inférieurs ou supérieurs à l'autre.

AutoML Tables interprète toute chaîne compatible comme étant numérique. Les espaces de début et de fin sont supprimées.

Le tableau suivant répertorie tous les formats de types de données numériques compatibles :

Format Examples Notes
Chaîne numérique "101", 101.5" Le caractère point (".") est le seul délimiteur décimal valide. Les chaînes numériques "101,5" et "100 000" ne sont pas valides.
Notation scientifique "1.12345E+11", "1.12345e+11" Voir la remarque à propos des chaînes numériques concernant les délimiteurs décimaux.
N'est pas un nombre. "NAN", "nan", "+NAN" Ne tient pas compte de la casse. Les préfixes plus ("+") ou moins ("-") sont ignorés. Interprété en tant que valeur NULL.
Infini "INF", "+inf" Ne tient pas compte de la casse. Les préfixes plus ("+") ou moins ("-") sont ignorés. Interprété en tant que valeur NULL.

Code temporel

Une valeur temporelle représente un moment précis, représenté soit par une heure civile avec fuseau horaire, soit par un horodatage Unix. Seules les caractéristiques de type Horodatage peuvent être utilisées pour la colonne Heure.

Si aucun fuseau horaire n'est spécifié, la valeur de fuseau horaire par défaut est utilisée.

Le tableau suivant répertorie tous les formats timeString compatibles :

Format Exemple Notes
%E4Y-%m-%d "2017-01-30" Consultez la documentation Abseil pour obtenir une description de ce format.
%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
Chaîne d'horodatage Unix en secondes "1541194447" Uniquement pour les périodes comprises entre le 1er janvier 1990 et le 1er janvier 2010.
Chaîne d'horodatage Unix en millisecondes "1541194447000"
Chaîne d'horodatage Unix en microsecondes "1541194447000000"
Chaîne d'horodatage Unix en nanosecondes "1541194447000000000"

Struct

Une structure peut être utilisée pour représenter un groupe de champs étiquetés. Une structure contient une liste de noms de champs, chacun associé à un type de données. La liste des champs et leurs types de données doivent être identiques pour toutes les valeurs de structure d'une colonne.

Voici quelques exemples de structures :

  • Pression artérielle : {"timestamp": 1535761416, "systolic": 110, "diastolic": 70}
  • Produit : {"name": "iPhone", price: 1000}

Vous utilisez le type de données STRUCT de BigQuery pour représenter les structures.

Tableau

Un tableau peut être utilisé pour représenter une liste de valeurs. Le type de données de toutes ces valeurs doit être le même. Vous pouvez inclure des types de données composés (objets struct) dans un tableau. Tous les objets "struct" doivent avoir la même structure.

AutoML Tables traite les tableaux comme représentant la pondération relative. En d'autres termes, les éléments qui apparaissent plus tard dans le tableau sont davantage pondérés que ceux qui apparaissent en premier.

Voici quelques exemples de tableaux :

  • Catégories de produits :

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

  • Derniers achats :

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

  • Enregistrements utilisateur :

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

Vous utilisez le type de données ARRAY de BigQuery pour représenter des tableaux.

Format de nom de la colonne

Lorsque vous créez votre schéma pour BigQuery ou votre ligne d'en-tête pour CSV, vous attribuez un nom aux colonnes (caractéristiques) des données d'entraînement. Les noms de colonne peuvent inclure n'importe quel caractère alphanumérique ou un trait de soulignement (_). Le nom de la colonne ne peut pas commencer par un trait de soulignement.

Tables BigQuery

Types de données acceptés

Avant de créer votre table BigQuery, vous devez connaître les types de données BigQuery acceptés et leur correspondance avec les types de données AutoML Tables.

Type de données BigQuery Accepté pour l'importation ? Types de données AutoML Tables
INT64 O Numérique, catégoriel
NUMERIC Y Numérique, catégoriel
FLOAT64 O Numérique, catégoriel
BOOL Y Catégoriel
STRING O Texte, catégoriel, numérique
BYTES N
DATE O Temporel, catégoriel
DATETIME O Temporel, catégoriel
GEOGRAPHY N
TIME O Catégoriel
TIMESTAMP Y Temporel, catégoriel
ARRAY O Tableau
STRUCT Y Structure

Fichiers CSV

Types de données acceptés

Toutes les données CSV sont importées sous forme de chaînes. Vous pouvez utiliser les types de données AutoML Tables suivants lors de l'importation à l'aide de CSV :

  • Texte
  • Catégoriel
  • Numérique
  • Temporel

Format CSV

AutoML Tables utilise le format CSV RFC 4180.

Format d'objet de ligne

Lorsque vous demandez une prédiction en ligne, vous devez présenter les données de prédiction sous forme de représentation JSON d'un objet Ligne. Le tableau ci-dessous indique les formats de données acceptables pour chaque type de données AutoML Tables. Vous pouvez choisir le format de données le plus simple à fournir.

Type de données AutoML Tables Types de données d'objet Row Formats
Catégoriel bool_type true, false
string_value "42"
"blue"
"2014-01-31"
"2014-01-31 13:14:15.123456789"
"21:02:42.118039"
"1553040000" (code temporel UNIX)
Numérique string_value "42.3"
number_value 42.3
Texte string_value "The quick brown fox"
Temporel string_value "2014-01-31"
"2014-01-31 13:14:15.123456789"
"1553040000" (horodatage UNIX)
Tableau list_value ["dog", "cat", "fish"]
Structure struct_value {"field1": "ABC", "field2": 100}

Étapes suivantes