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
- Scopri di più sui tipi di dati di BigQuery
- Scopri come preparare i dati per l'importazione in AutoML Tables