Tipi di dati

In questa pagina vengono descritti i tipi di dati che puoi importare in un set di dati AutoML Tables e in che modo questi tipi vengono mappati a BigQuery o CSV.

Introduzione

Quando importi dati di addestramento, AutoML Tables suggerisce un tipo di dati per ogni colonna in base al tipo nativo nei dati di input e ai valori in quella colonna. Il tipo di dati della colonna è importante perché influisce sul modo in cui la colonna viene utilizzata nell'addestramento del modello. Dopo aver importato i dati, esamina ogni colonna per assicurarti che il tipo di dati scelto da AutoML Tables sia quello corretto per i tuoi dati.

Quando crei il modello, il set di dati viene convertito in un elenco di oggetti Row, che ha i propri tipi di dati. Se utilizzi le previsioni online, devi convertire i dati in modo da utilizzare questo formato.

Tipi di dati di AutoML Tables

Categorica

Il valore categorico rappresenta i valori di una categoria. ovvero un livello nominale. I valori differiscono solo in base al nome, senza ordine. Puoi utilizzare i numeri per rappresentare i valori categorici, ma i valori non hanno alcuna relazione numerica tra loro. Ciò significa che un 1 categoria non è "maggiore" di uno 0 categoriale.

Di seguito sono riportati alcuni esempi di valori categorici:

  • Booleano: true, false.
  • Paese - "USA", "Canada", "China" e così via.
  • Codice di stato HTTP - "200", "404", "500" e così via.

I valori categorici sono sensibili alle maiuscole; le varianti ortografiche vengono trattate come categorie diverse (ad esempio, "Colore" e "Colore" non vengono combinati).

Testo

Un valore di testo rappresenta il testo in formato libero, generalmente composto da token di testo.

Di seguito sono riportati alcuni esempi di valori di testo:

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

I campi di testo vengono analizzati in token da spazi vuoti per l'addestramento del modello.

Numerico

Un valore numerico rappresenta un numero ordinale o quantitativo. Questi numeri possono essere confrontati. ovvero due numeri distinti possono essere minori o maggiori l'uno rispetto all'altro.

AutoML Tables interpreta qualsiasi stringa compatibile come numerica. Gli spazi vuoti iniziali o finali vengono tagliati.

La seguente tabella mostra tutti i formati compatibili per il tipo di dati numerici:

Formato Esempi Note
Stringa numerica "101", 101,5" Il punto (".") è l'unico delimitatore decimale valido. "101,5" e "100.000" non sono stringhe numeriche valide.
Notazione scientifica "1.12345E+11", "1.12345e+11" Vedi la nota per le stringhe numeriche relative ai delimitatori decimali.
Non è un numero "NAN", "nan", "+NAN" Maiuscole/minuscole vengono ignorate. I caratteri più ("+") o meno ("-") anteposti vengono ignorati. Interpretato come valore NULL.
Infinito "INF", "+inf" Maiuscole/minuscole vengono ignorate. I caratteri più ("+") o meno ("-") anteposti vengono ignorati. Interpretato come valore NULL.

Timestamp

Un valore Timestamp rappresenta un momento specifico, rappresentato come ora civile con un fuso orario o come timestamp Unix. Solo le funzionalità di tipo Timestamp possono essere utilizzate per la colonna Data/ora.

Se non viene specificato un fuso orario con l'ora civile, verrà utilizzato il fuso orario UTC per impostazione predefinita.

La seguente tabella mostra tutti i formati di stringhe temporali compatibili:

Formato Esempio Note
%E4Y-%m-%d "30-01-2017" Per una descrizione di questo formato, consulta la documentazione di Abseil.
%E4Y/%m/%d "30/01/2017"
%Y/%m/%d %H:%M:%E*S "30/01/2017 23:59:58"
%d-%m-%E4Y "30-11-2018"
%d/%m/%E4Y "30/11/2018"
%d-%B-%E4Y "30-novembre-2018"
%Y-%m-%dT%H:%M:%E*S%Ez "2019-05-17T23:56:09.05Z" RFC 3339
Stringa timestamp Unix in secondi "1541194447" Solo per orari compresi tra il 01/01/1990 e il 01/01/2030.
Stringa timestamp Unix in millisecondi "1541194447000"
Stringa timestamp Unix in microsecondi "1541194447000000"
Stringa timestamp Unix in nanosecondi "1541194447000000000"

Struct

È possibile utilizzare uno struct per rappresentare un gruppo di campi etichettati. Uno struct include un elenco di nomi di campo, ciascuno associato a un tipo di dati. L'elenco dei campi e i relativi tipi di dati devono essere uguali per tutti i valori struct di una colonna.

Ecco alcuni esempi di struct:

  • Pressione sanguigna - {"timestamp": 1535761416, "systolic": 110, "diastolic": 70}
  • Prodotto - {"name": "iPhone", price: 1000}

Puoi utilizzare il tipo di dati STRUCT di BigQuery per rappresentare gli struct.

Array

È possibile utilizzare un array per rappresentare un elenco di valori. I valori contenuti devono essere dello stesso tipo. Puoi includere tipi di dati composti (struct) in un array; tutti gli struct devono avere la stessa struttura.

AutoML Tables elabora gli array come rappresentanti del peso relativo. In altre parole, gli elementi che vengono visualizzati più avanti nell'array hanno un peso maggiore rispetto a quelli che appaiono all'inizio.

Di seguito sono riportati alcuni esempi di array:

  • Categorie di prodotti:

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

  • Acquisti più recenti:

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

  • Record utente:

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

Per rappresentare gli array, devi utilizzare il tipo di dati ARRAY di BigQuery.

Formato del nome della colonna

Quando crei lo schema per BigQuery o la riga di intestazione per il file CSV, assegna un nome alle colonne (funzionalità) nei dati di addestramento. I nomi delle colonne possono includere qualsiasi carattere alfanumerico o un trattino basso (_). Il nome della colonna non può iniziare con un trattino basso.

Tabelle BigQuery

Tipi di dati supportati

Prima di creare la tua tabella BigQuery, devi sapere quali tipi di dati BigQuery sono supportati e come vengono mappati ai tipi di dati di AutoML Tables.

Tipo di dati BigQuery È supportata per l'importazione? Tipi di dati di AutoML Tables
INT64 Y Numerico, categorico
NUMERIC Y Numerico, categorico
FLOAT64 Y Numerico, categorico
BOOL Y Categorica
STRINGA Y Testo, categoria, numerico
BYTES N
DATA Y Timestamp, categoria
DATETIME Y Timestamp, categoria
GEOGRAPHY N
TEMPO Y Categorica
TIMESTAMP Y Timestamp, categoria
ARRAY Y Array
STRUCT Y Struct

File CSV

Tipi di dati supportati

Tutti i dati CSV vengono importati come stringhe. Quando esegui l'importazione con CSV, puoi utilizzare i seguenti tipi di dati AutoML Tables:

  • Testo
  • Categorica
  • Numerico
  • Timestamp

Formato CSV

AutoML Tables utilizza il formato CSV RFC 4180.

Formato oggetto riga

Quando richiedi una previsione online, devi presentare i dati di previsione come una rappresentazione JSON di un oggetto Row. La tabella seguente mostra i formati di dati accettabili per ogni tipo di dati AutoML Tables. Puoi scegliere il formato dei dati più facile da fornire.

Tipo di dati AutoML Tables Row tipi di dati degli oggetti Formati
Categorica bool_type vero, falso
string_value "42"
"blu"
"2014-01-31"
"2014-01-31 13:14:15.123456789"
"21:02:42.118039"
"1553040000" (timestamp UNIX)
Numerico string_value "42,3"
number_value 42.3
Testo string_value "La volpe marrone veloce"
Timestamp string_value "31-01-2014"
"31-01-2014 13:14:15.123456789"
"1553040000" (timestamp UNIX)
Array list_value ["cane", "gatto", "pesce"]
Struct struct_value {"field1": "ABC", "field2": 100}

Passaggi successivi