Preparazione dei dati di addestramento

Questa pagina descrive come preparare i dati di addestramento prima di importarli in AutoML Tables.

Introduzione

La qualità dei dati di addestramento ha un impatto significativo sull'efficacia del modello creato e, di conseguenza, sulla qualità delle previsioni restituite da quel modello. Non puoi modificare i dati dopo averli caricati. Se devi modificare i dati di addestramento dopo l'importazione, devi aggiornare i dati di origine e reimportarli.

Capire come i tuoi dati vengono interpretati e utilizzati da AutoML Tables ti consente di caricare dati puliti ed efficaci.

Comprendere il problema

Il primo passaggio per la creazione di dati di addestramento efficaci è assicurarsi che il problema sia ben definito e dia i risultati di previsione necessari. Se non hai mai utilizzato il machine learning, devi esaminare i tipi di problemi affrontati da AutoML Tables e decidere quale tipo di modello creare. Per ulteriori informazioni sui tipi di problemi supportati da AutoML Tables, consulta Tipi di problemi.

Determinazione di cosa includere nel set di dati

Quindi, devi determinare i dati da includere nei dati di addestramento. In alcuni casi, puoi utilizzare una tabella già esistente nei dati aziendali. In altri casi, devi assemblare dati da origini diverse, eseguire alcune trasformazioni dei dati o eliminare alcune colonne per creare i dati di addestramento più efficaci.

Requisiti dei dati di addestramento

I dati di addestramento devono essere conformi ai seguenti requisiti:

  • Deve avere dimensioni massime pari a 100 GB.

  • Il valore che vuoi prevedere (la colonna target) deve essere incluso.

    Se i dati non hanno questa colonna, AutoML Tables non può associare i dati di addestramento al risultato desiderato. Il tipo di dati di questa colonna determina anche il tipo di modello. Scopri di più.

  • Deve essere presente da un minimo di due a un massimo di 1000 colonne.

    Una colonna deve essere la target e deve essere disponibile almeno una caratteristica per addestrare il modello. Idealmente, i dati di addestramento hanno molte più di due colonne.

  • Il numero di righe deve essere compreso tra 1000 e 200.000.000.

    A seconda di quante caratteristiche ha il set di dati, 1000 righe potrebbero non essere sufficienti per addestrare un modello ad alte prestazioni. Scopri di più.

Funzionalità aggiuntive basate sui dati di addestramento

Inoltre, alcune funzionalità di AutoML Tables richiedono l'inclusione di dati specifici nei dati di addestramento:

Per ulteriori best practice sui dati, consulta Best practice per la creazione di dati di addestramento.

Preparazione dell'origine dell'importazione in corso...

Puoi fornire i dati di addestramento dei modelli ad AutoML Tables in due modi:

L'origine da utilizzare dipende dal modo in cui vengono archiviati i dati, nonché dalle dimensioni e dalla complessità dei dati. Se il tuo set di dati è piccolo e non ti servono tipi di dati più complessi, il formato CSV potrebbe essere più semplice. Per i set di dati più grandi che includono array e struct, devi utilizzare BigQuery.

Per entrambe le origini di importazione, i dati devono soddisfare i seguenti requisiti:

  • Ha un numero di righe compreso tra 1000 e 200.000.000.
  • Ha un numero di colonne compreso tra 2 e 1000.
  • Massimo 100 GB.

BigQuery

La tabella BigQuery deve utilizzare un set di dati BigQuery su più regioni nella località US o EU. A seconda della posizione della tabella BigQuery e della sua origine dati (che può essere diversa), devi eseguire gli aggiornamenti delle autorizzazioni elencati nella tabella seguente. Tieni presente che potrebbe essere necessario modificare le autorizzazioni sul tuo progetto principale (quello in cui si trova AutoML Tables) o nel progetto straniero.

Tipo di tabella Località tabella Posizione origine dati Aggiunta del ruolo obbligatoria
Tabella BigQuery nativa Progetto Home N/A Nessuno.
Tabella BigQuery nativa Progetto straniero N/A BigQuery Data Viewer per il progetto straniero. Scopri di più.
Vista BigQuery Stesso progetto N/A Nessuno.
Vista BigQuery Progetto diverso N/A BigQuery Data Viewer per il progetto straniero. Scopri di più.
Origine dati BigQuery esterna supportata da Bigtable Progetto Home Progetto Home Bigtable Reader per il progetto Home. Scopri di più.
Origine dati BigQuery esterna supportata da Bigtable Progetto Home Progetto straniero Bigtable Reader per il progetto straniero. Scopri di più.
Origine dati BigQuery esterna supportata da Bigtable Progetto straniero Progetto straniero BigQuery Reader e Bigtable Reader per il progetto straniero. Scopri di più.
Origine dati esterna BigQuery supportata da Cloud Storage Progetto Home Progetto Home Nessuno.
Origine dati esterna BigQuery supportata da Cloud Storage Progetto Home Progetto straniero Storage Object Viewer per il progetto straniero. Scopri di più.
Origine dati esterna BigQuery supportata da Cloud Storage Progetto straniero Progetto straniero Storage Object Viewer e BigQuery Data Viewer per il progetto straniero. Scopri di più.
Origine dati BigQuery esterna supportata da Fogli Google Progetto Home N/A Condividi il file di Fogli con l'account di servizio AutoML. Scopri di più.
Origine dati BigQuery esterna supportata da Fogli Google Progetto straniero N/A BigQuery Reader per un progetto straniero e condividi il file di Fogli con l'account di servizio AutoML.

Non è necessario specificare uno schema per la tabella BigQuery. AutoML Tables deduce automaticamente lo schema della tabella quando importi i dati.

L'URI BigQuery (specificando la località dei dati di addestramento) deve essere conforme al seguente formato:

bq://<project_id>.<dataset_id>.<table_id>

L'URI non può contenere altri caratteri speciali.

Per informazioni sui tipi di dati BigQuery e su come vengono mappati in AutoML Tables, consulta Tabelle BigQuery. Per ulteriori informazioni sull'utilizzo delle origini dati esterne di BigQuery, consulta Introduzione alle origini dati esterne.

File CSV

Requisiti del file CSV

I file CSV possono essere in Cloud Storage o sul tuo computer locale. Devono essere conformi ai seguenti requisiti:

  • La prima riga del primo file deve essere un'intestazione e contenere i nomi delle colonne. Se la prima riga di un file successivo è uguale all'intestazione, viene anch'essa trattata come un'intestazione, in caso contrario viene trattata come dati.
  • I nomi delle colonne possono includere qualsiasi carattere alfanumerico o un trattino basso (_). Il nome della colonna non può iniziare con un trattino basso.
  • Il carattere separatore deve essere una virgola (",").
  • Ogni file non deve superare i 10 GB.

    Puoi includere più file, fino a un massimo di 100 GB.

Non è necessario specificare uno schema per i dati CSV. AutoML Tables deduce automaticamente lo schema della tabella quando importi i dati e utilizza la riga di intestazione per i nomi delle colonne.

Per ulteriori informazioni sul formato dei file CSV e sui tipi di dati, consulta la sezione File CSV.

Requisiti per i bucket Cloud Storage

Se importi i dati da Cloud Storage, devono trovarsi in un bucket che soddisfi i seguenti requisiti:

Se importi i dati dal tuo computer locale, devi avere un bucket Cloud Storage che soddisfi i seguenti requisiti:

AutoML Tables utilizza questo bucket come area temporanea prima di importare i dati.

Devi utilizzare la console Google Cloud per importare i file CSV dal tuo computer locale.

Come vengono utilizzate le suddivisioni di dati

Quando utilizzi un set di dati per addestrare un modello, i dati vengono suddivisi in tre segmenti: un set di addestramento, un set di convalida e un set di test.

I set di addestramento e convalida vengono utilizzati per provare un numero elevato di combinazioni di opzioni di pre-elaborazione, architettura e iperparametri. Queste prove danno luogo a modelli addestrati, che vengono poi valutati sul set di convalida a livello di qualità e per guidare l'esplorazione di ulteriori combinazioni di opzioni.

Quando un numero maggiore di prove non porta più a miglioramenti della qualità, quella versione del modello viene considerata il modello finale con le migliori prestazioni e addestrato. Successivamente, AutoML Tables addestra altri due modelli, utilizzando i parametri e l'architettura determinati nella fase di ottimizzazione parallela:

  1. Un modello addestrato con i tuoi set di addestramento e convalida.

    AutoML Tables genera le metriche di valutazione su questo modello utilizzando il tuo set di test. È la prima volta nel processo in cui viene utilizzato il set di test. Questo approccio garantisce che le metriche di valutazione finale rispecchino imparzialmente le prestazioni del modello addestrato finale in produzione.

  2. Un modello addestrato con i set di addestramento, convalida e test.

    Questo modello è quello che utilizzi per richiedere previsioni.

Informazioni sul controllo della suddivisione dati

Per impostazione predefinita, AutoML Tables seleziona in modo casuale l'80% delle righe di dati per l'addestramento, il 10% per la convalida e il 10% per i test. Per i set di dati che non cambiano nel tempo, sono relativamente bilanciati e riflettono la distribuzione dei dati che verranno utilizzati per le previsioni in produzione, l'algoritmo di selezione casuale è in genere sufficiente. L'obiettivo principale è garantire che il set di test rappresenti accuratamente i dati che il modello vedrà in produzione. Ciò garantisce che le metriche di valutazione forniscano un indicatore accurato sulle prestazioni del modello sui dati reali.

Ecco alcuni casi in cui potresti voler scegliere attivamente quali righe utilizzare in una determinata suddivisione dati:

  • I dati sono sensibili alle tempistiche.

    In questo caso, devi utilizzare una colonna Data/ora o una suddivisione manuale che genera i dati più recenti utilizzati come set di test.

  • I dati di test includono dati di popolazioni che non verranno rappresentate in produzione.

    Ad esempio, supponiamo che tu stia addestrando un modello con dati di acquisto da una serie di negozi. Il modello verrà utilizzato principalmente per fare previsioni per gli archivi non inclusi nei dati di addestramento. Per garantire che il modello possa generalizzare gli archivi non considerati, devi separare i set di dati in base agli archivi. In altre parole, il set di test deve includere solo archivi diversi dal set di valutazione, mentre quest'ultimo deve includere solo archivi diversi dal set di addestramento.

  • I tuoi corsi non sono bilanciati.

    Se nei tuoi dati di addestramento sono presenti più classi rispetto a un'altra, potrebbe essere necessario includere manualmente più esempi della classe minoritaria nei dati di test. AutoML Tables non esegue il campionamento stratificato, quindi il set di test potrebbe includere un numero troppo basso o addirittura pari a zero di esempi della classe di minoranza.

Puoi controllare quali righe vengono selezionate per quale suddivisione utilizzando uno dei due approcci:

Se specifichi sia una colonna di suddivisione dati sia la colonna Tempo, per suddividere i dati viene utilizzata solo la colonna Suddivisione dati.

La colonna Suddivisione dati

La colonna di suddivisione dati consente di selezionare righe specifiche da utilizzare per addestramento, convalida e test. Quando crei i dati di addestramento, aggiungi una colonna che può contenere uno dei seguenti valori (sensibili alle maiuscole):

  • TRAIN
  • VALIDATE
  • TEST
  • UNASSIGNED

I valori in questa colonna devono corrispondere a una delle due seguenti combinazioni:

  • Tutti in TRAIN, VALIDATE e TEST
  • Solo TEST e UNASSIGNED

Ogni riga deve avere un valore per questa colonna; non può essere la stringa vuota.

Ad esempio, con tutti gli insiemi specificati:

"TRAIN","John","Doe","555-55-5555"
"TEST","Jane","Doe","444-44-4444"
"TRAIN","Roger","Rogers","123-45-6789"
"VALIDATE","Sarah","Smith","333-33-3333"

Con solo il set di test specificato:

"UNASSIGNED","John","Doe","555-55-5555"
"TEST","Jane","Doe","444-44-4444"
"UNASSIGNED","Roger","Rogers","123-45-6789"
"UNASSIGNED","Sarah","Smith","333-33-3333"

La colonna di suddivisione dati può avere qualsiasi nome di colonna valido.

Se il valore della colonna di suddivisione dati è UNASSIGNED, AutoML Tables assegna automaticamente la riga al set di addestramento o convalida.

Dopo aver importato i dati, selezioni una suddivisione dati manuale e specifichi questa colonna come colonna di suddivisione dati. Puoi anche utilizzare il campo mlUseColumnSpecId.

La colonna Tempo

Puoi utilizzare la colonna Tempo per indicare ad AutoML Tables che il tempo è importante per i dati; non è distribuito casualmente nel tempo. Quando specifichi la colonna Tempo , AutoML Tables utilizza il primo 80% delle righe per l'addestramento, il 10% successivo delle righe per la convalida e l'ultimo 10% delle righe per i test.

AutoML Tables considera ogni riga come un esempio di addestramento indipendente e distribuito in modo identico; l'impostazione della colonna Time non cambia. La colonna Data/ora viene utilizzata solo per suddividere il set di dati.

Devi includere un valore per la colonna Tempo per ogni riga del set di dati. Assicurati che la colonna Ora abbia valori distinti sufficienti in modo che i set di valutazione e test non siano vuoti. In genere, avere almeno 20 valori distinti dovrebbe essere sufficiente.

Il tipo di dati della colonna Data/ora deve essere Timestamp.

Durante la revisione dello schema, selezioni questa colonna come colonna Data/ora. (nell'API, utilizzi il campo timeColumnSpecId). Questa selezione ha effetto solo se non hai specificato la colonna di suddivisione dati.

Se non vuoi utilizzare una colonna relativa al tempo per suddividere i dati, imposta il tipo di dati di quella colonna su Timestamp, ma non impostarla come colonna Data/ora.

Informazioni sull'uso dei pesi nei dati di allenamento

Per impostazione predefinita, AutoML Tables assegna lo stesso peso a ogni riga dei dati di addestramento: nessuna riga è considerata più importante per l'addestramento di un'altra.

A volte potresti volere che alcune righe abbiano più importanza per l'addestramento. Ad esempio, se stai utilizzando dati sulla spesa, potresti volere che i dati associati agli utenti che spendono di più abbiano un impatto maggiore sul modello. Se vuoi evitare un risultato specifico, puoi ponderare maggiormente le righe relative a tale risultato.

Per assegnare un peso relativo alle righe puoi aggiungere una colonna Peso al tuo set di dati. La colonna Ponderazione deve essere una colonna numerica. Puoi utilizzarlo per specificare un valore compreso tra 0 e 10.000. Valori più elevati indicano ad AutoML Tables che la riga è più importante durante l'addestramento del modello. Se il valore è pari a 0, la riga viene ignorata. Se includi una colonna relativa al peso, questa deve contenere un valore per ogni riga.

In seguito, quando esamini lo schema, specifichi questa colonna come colonna Peso. Puoi anche utilizzare il campo weightColumnSpecId.

Gli schemi di ponderazione personalizzati vengono utilizzati solo per l'addestramento del modello; non influiscono sulla valutazione del modello.

Requisiti per la colonna di destinazione

La colonna di destinazione deve essere conforme ai seguenti requisiti:

  • Deve essere di categoria o numerica.
  • Se è di categoria, deve avere un minimo di 2 e un massimo di 500 valori distinti.
  • Non può essere nullo.

Passaggi successivi