Questa pagina mostra come valutare i modelli di analisi del sentiment del testo AutoML in modo da poter eseguire l'iterazione del modello.
Vertex AI fornisce metriche di valutazione dei modelli per aiutarti a determinare le prestazioni dei modelli, come metriche di precisione e richiamo. Vertex AI calcola le metriche di valutazione utilizzando il set di test.
Come utilizzare le metriche di valutazione del modello
Le metriche di valutazione del modello forniscono misurazioni quantitative delle prestazioni del modello sul set di test. Il modo in cui interpreti e utilizzi queste metriche dipende dalle tue esigenze aziendali e dal problema che il modello è addestrato a risolvere. Ad esempio, potresti avere una tolleranza inferiore per i falsi positivi rispetto ai falsi negativi o viceversa. Questo tipo di domande determina le metriche su cui ti concentreresti.
Per ulteriori informazioni su come eseguire l'iterazione del modello per migliorarne le prestazioni, consulta Eseguire l'iterazione del modello.
Metriche di valutazione restituite da Vertex AI
Vertex AI restituisce diverse metriche di valutazione, come le soglie di precisione, richiamo e affidabilità. Le metriche restituite da Vertex AI dipendono dall'obiettivo del modello. Ad esempio, Vertex AI offre metriche di valutazione diverse per un modello di classificazione delle immagini rispetto a un modello di rilevamento di oggetti immagine.
Un file di schema, scaricabile da una posizione di Cloud Storage, determina le metriche di valutazione fornite da Vertex AI per ogni obiettivo. Le seguenti schede forniscono link ai file di schema e descrivono le metriche di valutazione per ciascun obiettivo del modello.
Puoi visualizzare e scaricare i file di schema dalla seguente posizione di Cloud Storage:
gs://google-cloud-aiplatform/schema/modelevaluation/
- Richiamo: la frazione delle previsioni con questa classe che il modello ha previsto correttamente. Chiamato anche tasso di veri positivi.
- Precisione: la frazione delle previsioni di classificazione prodotte dal modello che sono risultate corrette.
- Punteggio F1: la media armonica di precisione e richiamo. F1 è una metrica utile per trovare un equilibrio tra precisione e richiamo qualora esista una distribuzione non uniforme delle classi.
- MAE: l'errore assoluto medio (MAE, Mean Absolute Error) è la differenza media assoluta tra i valori target e i valori previsti. Questa metrica va da zero a infinito e un valore più basso indica un modello di qualità migliore.
- MSE: l'errore quadratico medio (MSE) misura le differenze tra i valori previsti da un modello o da uno strumento di stima e i valori osservati. Valori più bassi indicano modelli più accurati.
- Kappa con ponderazione lineare e kappa con ponderazione quadratica: misura il grado di precisione con cui i valori di sentiment assegnati dal modello corrispondono ai valori assegnati dai revisori umani. Valori più alti indicano modelli più accurati.
- Matrice di confusione: una matrice di confusione mostra la frequenza con cui un modello ha previsto correttamente un risultato. Per i risultati previsti in modo errato, la matrice mostra invece ciò che è stato previsto dal modello. La matrice di confusione ti aiuta a capire dove il tuo modello "confonde" due risultati.
Recupero delle metriche di valutazione
È possibile ottenere un insieme aggregato di metriche di valutazione per il modello e, per alcuni obiettivi, metriche di valutazione per una determinata classe o etichetta. Le metriche di valutazione per una determinata classe o etichetta sono note anche come sezione di valutazione. Di seguito viene descritto come ottenere metriche di valutazione aggregate e sezioni di valutazione utilizzando l'API o la console Google Cloud.
Console Google Cloud
Nella console Google Cloud, nella sezione Vertex AI, vai alla pagina Modelli.
Nel menu a discesa Regione, seleziona la regione in cui si trova il modello.
Nell'elenco dei modelli, fai clic sul tuo modello per aprire la relativa scheda Valuta.
Nella scheda Valuta, puoi visualizzare le metriche di valutazione aggregata del modello, come Precisione media e Richiamo.
Se l'obiettivo del modello ha sezioni di valutazione, la console mostra un elenco di etichette. Puoi fare clic su un'etichetta per visualizzare le relative metriche di valutazione, come mostrato nell'esempio seguente:
API
Le richieste API per ottenere le metriche di valutazione sono le stesse per ogni tipo di dati e obiettivo, ma gli output sono diversi. I seguenti esempi mostrano la stessa richiesta, ma risposte diverse.
Recupero delle metriche di valutazione del modello aggregato
Le metriche di valutazione del modello aggregate forniscono informazioni sul modello nel suo insieme. Per visualizzare le informazioni su una sezione specifica, elenca le sezioni di valutazione del modello.
Per visualizzare le metriche di valutazione del modello aggregato, utilizza il metodo projects.locations.models.evaluations.get
.
Seleziona una scheda corrispondente alla tua lingua o al tuo ambiente:
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui è archiviato il modello.
- PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID della risorsa del modello.
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto.
- EVALUATION_ID: ID per la valutazione del modello (viene visualizzato nella risposta).
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python.
Elenco di tutte le sezioni di valutazione
Il metodo projects.locations.models.evaluations.slices.list
elenca tutte le sezioni di valutazione del modello. Devi avere l'ID di valutazione del modello, che puoi ottenere quando visualizzi le metriche di valutazione aggregata.
Puoi utilizzare le sezioni di valutazione del modello per determinare le prestazioni del modello su
un'etichetta specifica. Il campo value
indica l'etichetta a cui si riferiscono le metriche.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il modello. Ad esempio,
us-central1
. - PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID del modello.
- EVALUATION_ID: ID della valutazione del modello che contiene le sezioni di valutazione da elencare.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python.
Recupero delle metriche per una singola sezione
Per visualizzare le metriche di valutazione per una singola sezione, utilizza il metodo projects.locations.models.evaluations.slices.get
. Devi avere l'ID sezione, che viene fornito quando elenchi tutte le sezioni. Il seguente esempio si applica a tutti i tipi di dati
e gli obiettivi.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il modello. Ad esempio, us-central1.
- PROJECT: il tuo ID progetto.
- MODEL_ID: l'ID del modello.
- EVALUATION_ID: ID della valutazione del modello che contiene la sezione di valutazione da recuperare.
- SLICE_ID: ID di una sezione di valutazione da ottenere.
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: il nome di un file di schema che definisce le metriche di valutazione da restituire, ad esempio
classification_metrics_1.0.0
.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python.
Esegui l'iterazione sul modello
Le metriche di valutazione del modello forniscono un punto di partenza per eseguire il debug del modello quando quest'ultimo non soddisfa le aspettative. Ad esempio, punteggi bassi di precisione e richiamo possono indicare che il modello ha bisogno di ulteriori dati di addestramento o che ha etichette incoerenti. Precisione e richiamo perfetti possono indicare che i dati di test sono troppo facili da prevedere e potrebbero non essere generalizzati.
Puoi eseguire l'iterazione dei dati di addestramento e creare un nuovo modello. Dopo aver creato un nuovo modello, puoi confrontare le metriche di valutazione del modello esistente e di quello nuovo.
I seguenti suggerimenti possono aiutarti a migliorare i modelli che etichettano gli elementi, ad esempio i modelli di classificazione o rilevamento:
- Valuta la possibilità di aggiungere altri esempi o una gamma più ampia di esempi nei dati di addestramento. Ad esempio, per un modello di classificazione delle immagini, potresti includere immagini ad angolo più ampio, immagini a risoluzione più alta o più bassa o diversi punti di vista. Per ulteriori indicazioni, consulta la pagina Preparazione dei dati per il tipo di dati e lo scopo specifici.
- Valuta la possibilità di rimuovere le classi o le etichette che non includono molti esempi. Un numero insufficiente di esempi impedisce al modello di fare previsioni in modo coerente e sicuro su queste classi o etichette.
- Le macchine non possono interpretare il nome delle tue classi o etichette e non ne comprendono le sfumature, ad esempio "door" e "door_with_knob". Devi fornire dati per aiutare le macchine a riconoscere queste sfumature.
- Arricchisci i tuoi dati con un maggior numero di esempi di veri positivi e veri negativi, in particolare di esempi che sono vicini al limite decisionale per mitigare la confusione del modello.
- Specifica la tua suddivisione dati (addestramento, convalida e test). Vertex AI assegna in modo casuale elementi a ogni set. Pertanto, i quasi duplicati possono essere allocati nei set di addestramento e convalida, il che potrebbe portare a un overfitting e a prestazioni scarse per il set di test. Per ulteriori informazioni sull'impostazione di una suddivisione dati personalizzata, consulta Informazioni sulle suddivisioni di dati per i modelli AutoML.
- Se le metriche di valutazione del modello includono una matrice di confusione, puoi vedere se il modello confonde due etichette quando il modello prevede una determinata etichetta molto più dell'etichetta vera. Esamina i tuoi dati e assicurati che gli esempi siano etichettati correttamente.
- Se i tempi di addestramento sono brevi (numero massimo basso di ore nodo), potresti ottenere un modello di qualità superiore consentendo l'addestramento per un periodo di tempo più lungo (numero massimo massimo di ore nodo più elevato).