Questa pagina descrive in che modo la piattaforma di agenti Gemini Enterprise utilizza i set di addestramento, convalida e test dei dati per addestrare un modello AutoML e i modi in cui puoi controllare la suddivisione dei dati tra questi tre set. AutoML utilizza le suddivisioni dei dati in modo diverso a seconda del tipo di dati di addestramento.
Questa pagina descrive le suddivisioni dei dati per i dati delle immagini. Per informazioni sulle suddivisioni dei dati per i dati tabulari, consulta Suddivisioni dei dati per i dati tabulari.
Per i set di dati di immagini, AutoML utilizza il set di addestramento per addestrare il modello e il set di validazione per convalidare i risultati restituiti dal modello durante l'addestramento. Al termine dell'addestramento, AutoML utilizza il set di test per fornire le metriche di valutazione finali.
Puoi consentire alla piattaforma di agenti Gemini Enterprise di dividere automaticamente i dati. I dati vengono suddivisi in modo casuale nei tre set in base alla percentuale. Questo è il modo più semplice per suddividere i dati e funziona bene nella maggior parte dei casi.
| Imposta | Percentuale |
|---|---|
| Formazione | 80 |
| Convalida | 10 |
| Test | 10 |
Per utilizzare la suddivisione dei dati predefinita, accetta il valore predefinito nella Google Cloud console, o lascia vuoto il campo suddivisione per l'API.
Se vuoi controllare la suddivisione dei dati in set, hai le seguenti opzioni:
Scegli solo una di queste opzioni quando addestri il modello. Alcune di queste opzioni richiedono modifiche ai dati di addestramento (ad esempio l'etichetta ml_use). L'inclusione di dati o etichette per le opzioni di suddivisione dei dati non richiede l'utilizzo di queste opzioni. Puoi comunque scegliere un'altra opzione quando addestri il modello.
Suddivisione manuale per dati non strutturati
La suddivisione manuale è nota anche come "suddivisione predefinita".
Per utilizzare l'etichetta ml_use per controllare la suddivisione dei dati, devi impostarla sui dati.ml_use
Imposta un valore per l'etichetta ml_use
Puoi impostare l'etichetta ml_use per i dati delle immagini al momento dell'importazione dei dati (per elemento di dati o per l'intero file di importazione) o dopo l'importazione dei dati utilizzando la
console. Google Cloud
Impostazione di ml_use su singoli elementi di dati al momento dell'importazione
Imposta l'ml_use etichetta su ogni elemento di dati includendo un valore per il
aiplatform.googleapis.com/ml_use campo nei
dati
JSON Lines o impostando il valore della prima colonna del file CSV. Per maggiori dettagli, consulta le informazioni sulla preparazione dei dati per il tipo di dati.
Se alcuni elementi di dati si ripetono nei dati (se lo stesso snippet di immagine viene visualizzato più volte nel file di importazione), la piattaforma di agenti utilizza il valore ml_use per il primo elemento di dati che incontra e ignora tutti i valori ml_use successivi. Il primo elemento incontrato non è necessariamente quello più vicino all'inizio del file di caricamento.
Impostazione di ml_use per interi file di caricamento
Se i dati possono essere ordinati in file di caricamento diversi in base al valore ml_use, puoi
impostare il valore ml_use per l'intero file di caricamento utilizzando il menu a discesa per file
quando carichi i file utilizzando la Google Cloud console o
utilizzando il campo della mappa dataItemLabels
nel metodo datasets.import.
Se imposti ml_use per un file di caricamento e il file contiene anche valori ml_use, i valori ml_use nel file hanno la precedenza sul valore a livello di file.
Impostazione di ml_use dopo l'importazione
Dopo aver caricato i dati, puoi impostare o aggiornare il valore ml_use per
elementi di dati specifici nella Google Cloud console selezionando uno o più elementi
nella visualizzazione elenco e utilizzando il menu a discesa Assegna utilizzo di ML.
Se carichi di nuovo un file di dati, anche se i valori ml_use sono cambiati, il valore ml_use non viene aggiornato. Non puoi aggiornare i valori ml_use dopo l'importazione utilizzando l'API della piattaforma di agenti.
Utilizza l'etichetta ml_use
Quando addestri il modello, specifica Manuale (avanzato) per la suddivisione dei dati
nella Google Cloud console. Se esegui l'addestramento utilizzando l'API della piattaforma di agenti, utilizza l'
FilterSplit,
specificando labels.aiplatform.googleapis.com/ml_use=training per il filtro di addestramento,
labels.aiplatform.googleapis.com/ml_use=validation per il filtro di convalida
e labels.aiplatform.googleapis.com/ml_use=test per il filtro di test.
Ad esempio:
model = job.run(
dataset=dataset,
model_display_name=_name,
training_filter_split="labels.aiplatform.googleapis.com/ml_use=training",
validation_filter_split="labels.aiplatform.googleapis.com/ml_use=validation",
test_filter_split="labels.aiplatform.googleapis.com/ml_use=test")
Tutti gli elementi di dati con un valore ml_use vengono assegnati al set specificato. Gli elementi di dati per cui non è impostato ml_use vengono esclusi dal processo di addestramento.
Suddivisione del filtro dati
Puoi utilizzare altre etichette (oltre a ml-use) e altri campi per suddividere i dati by
using the FilterSplit object in
the Agent Platform API. Ad esempio, puoi impostare trainingFilter su labels.flower=rose, validationFilter su labels.flower=daisy e testFilter su labels.flower=dahlia. Questa impostazione fa sì che tutti i dati etichettati come rose vengano aggiunti al training set, tutti i dati etichettati come daisy vengano aggiunti al set di validazione e tutti i dati etichettati come dahlia vengano aggiunti al test set.
Se filtri in base a più campi, un elemento di dati potrebbe corrispondere a più filtri. In questo caso, il set di addestramento ha la precedenza, seguito dal set di validazione e poi dal test set. In altre parole, un elemento viene inserito nel test set solo se corrisponde al filtro per il test set, ma non corrisponde ai filtri di addestramento o convalida. Se un elemento non corrisponde ai filtri per nessuno dei set, viene escluso dall'addestramento.
Non utilizzare categorie per la suddivisione dei dati correlate a ciò che il modello prevede. Ogni set deve riflettere l'intervallo di dati utilizzato dal modello per fare previsioni. (Ad esempio, non utilizzare i filtri descritti in precedenza per un modello che prevede di classificare le immagini in base al tipo di fiore.)
Se non vuoi che un filtro corrisponda a nessun elemento, impostalo su "-" (il segno meno).
Suddivisione matematica
La suddivisione matematica è nota anche come "suddivisione frazionaria".
Per impostazione predefinita, i dati vengono suddivisi in modo casuale nei set in base alle percentuali predefinite per il tipo di dati. Puoi modificare le percentuali in qualsiasi valore che sommi a 100 (per l'API della piattaforma di agenti, utilizza frazioni che sommano a 1.0).
Per modificare le percentuali (frazioni), utilizza l'oggetto FractionSplit per definire le frazioni. Per i tipi di dati delle immagini, puoi anche utilizzare la Google Cloud console per aggiornare le percentuali di suddivisione quando addestri il tuo modello.