Interpretazione dei risultati delle previsioni dai modelli AutoML

Dopo aver richiesto una previsione, Vertex AI restituisce i risultati in base all'obiettivo. Questa guida descrive come interpretare i risultati per ogni obiettivo e tipo di dati.

Per ulteriori informazioni sulla previsione di previsioni, consulta la pagina Ricevere previsioni online o Ricevere previsioni batch.

Immagine

Gli obiettivi dei tipi di dati immagine includono la classificazione e il rilevamento di oggetti.

Classificazione

La previsione della classificazione delle immagini AutoML (etichetta singola) restituisce una categoria di etichetta singola e il punteggio di affidabilità corrispondente. Le previsioni di classificazione con più etichette restituiscono più categorie di etichette e i relativi punteggi di affidabilità corrispondenti.

Il punteggio di affidabilità comunica l'efficacia con cui il modello associa ogni classe o etichetta a un elemento di test. Più alto è il numero, più alta è la certezza che l'etichetta debba essere applicata all'elemento. Sei tu a decidere quanto deve essere elevato il punteggio di affidabilità per accettare i risultati del modello.

Dispositivo di scorrimento soglia del punteggio

In Google Cloud Console, Vertex AI fornisce un dispositivo di scorrimento per regolare la soglia di affidabilità per tutte le classi o etichette o per una singola classe o etichetta. Il dispositivo di scorrimento è disponibile nella pagina dei dettagli di un modello nella scheda Valuta. La soglia di affidabilità è il livello di affidabilità che il modello deve avere per assegnare una classe o un'etichetta a un elemento di test. Man mano che modifichi la soglia, puoi vedere come cambiano la precisione e il richiamo del modello. Soglie più elevate in genere aumentano la precisione, ma riducono il richiamo.

Output di previsione batch di esempio

Gli output di previsione della classificazione delle immagini AutoML in modalità batch vengono archiviati come file JSON Lines nei bucket Cloud Storage. Ogni riga del file Linee JSON contiene tutte le categorie di annotazioni (etichetta) e i punteggi di affidabilità corrispondenti per un singolo file immagine.

{
  "instance": {"content": "gs://bucket/image.jpg", "mimeType": "image/jpeg"},
  "prediction": {
    "ids": [1, 2],
    "displayNames": ["cat", "dog"],
    "confidences": [0.7, 0.5]
  }
}

Rilevamento di oggetti

Le risposte di previsione del rilevamento degli oggetti immagine AutoML restituiscono tutti gli oggetti trovati in un'immagine. Ogni oggetto trovato ha un'annotazione (etichetta e riquadro di delimitazione normalizzato) con un punteggio di affidabilità corrispondente. Il riquadro di delimitazione è scritto come segue:

"bboxes": [ [xMin, xMax, yMin, yMax], ...]

Dove xMin, xMax sono il valore minimo e massimo x, mentre yMin, yMax sono rispettivamente il valore minimo e massimo y.

Output di previsione batch di esempio

Le risposte predittive del rilevamento di oggetti Batch AutoML sono archiviate come file JSON Lines nei bucket Cloud Storage. Ogni riga del file Linee JSON contiene tutti gli oggetti trovati in un singolo file immagine. Ogni oggetto trovato ha un'annotazione (etichetta e riquadro di delimitazione normalizzato) con un punteggio di affidabilità corrispondente.

Importante: i riquadri di delimitazione sono specificati come segue:

"bboxes": [ [xMin, xMax, yMin, yMax], ...]

Dove xMin, xMax sono il valore minimo e massimo x, mentre yMin, yMax sono rispettivamente il valore minimo e massimo y.

{
  "instance": {"content": "gs://bucket/image.jpg", "mimeType": "image/jpeg"},
  "prediction": {
    "ids": [1, 2],
    "displayNames": ["cat", "dog"],
    "bboxes":  [
      [0.1, 0.2, 0.3, 0.4],
      [0.2, 0.3, 0.4, 0.5]
    ],
    "confidences": [0.7, 0.5]
  }
}

Tabulare

Gli obiettivi dei tipi di dati tabulari includono classificazione e regressione.

Classificazione

Il punteggio di affidabilità comunica l'efficacia con cui il modello associa ogni classe o etichetta a un elemento di test. Più alto è il numero, più alta è la certezza che l'etichetta debba essere applicata all'elemento. Sei tu a decidere quanto deve essere elevato il punteggio di affidabilità per accettare i risultati del modello.

Dispositivo di scorrimento Soglia di affidabilità

In Google Cloud Console, Vertex AI fornisce un dispositivo di scorrimento per regolare la soglia di affidabilità per tutte le classi o etichette o per una singola classe o etichetta. Il dispositivo di scorrimento è disponibile nella pagina dei dettagli di un modello nella scheda Valuta. La soglia di affidabilità è il livello di affidabilità che il modello deve avere per assegnare una classe o un'etichetta a un elemento di test. Man mano che modifichi la soglia, puoi vedere come cambiano la precisione e il richiamo del modello. Soglie più elevate in genere aumentano la precisione, ma riducono il richiamo.

Importanza delle caratteristiche locali

L'importanza delle funzionalità locali, chiamata anche attribuzione delle caratteristiche, consente di determinare in che misura ciascuna funzionalità ha influito su una previsione specifica. L'importanza delle funzionalità locali fa parte di Vertex Explainable AI.

Per calcolare l'importanza delle funzionalità locali, viene calcolato innanzitutto il punteggio di previsione di base. I valori di riferimento vengono calcolati a partire dai dati di addestramento, utilizzando il valore mediano per le caratteristiche numeriche e la modalità per le caratteristiche categoriche. La previsione generata dai valori di riferimento è il punteggio di previsione di base. I valori di riferimento vengono calcolati una sola volta per un modello e non cambiano.

Per una previsione specifica, l'importanza della caratteristica locale per ogni caratteristica indica il grado di corrispondenza o sottrazione della probabilità assegnata alla classe con il punteggio più alto per quella previsione, rispetto al punteggio di previsione di riferimento. La somma di tutti i valori dell'importanza delle caratteristiche equivale alla differenza tra il punteggio di previsione di riferimento e il punteggio di previsione per il punteggio di probabilità più alto.

Per i modelli di classificazione, il punteggio è sempre compreso tra 0,0 e 1,0 inclusi. Pertanto, i valori dell'importanza delle caratteristiche locali per i modelli di classificazione sono sempre compresi tra -1,0 e 1,0 (inclusi).

Puoi utilizzare l'importanza delle caratteristiche per assicurarti che il modello utilizzi i dati di previsione in un modo che abbia senso per i tuoi dati e il problema aziendale. Se hai richiesto una previsione senza importanza della funzionalità e il risultato non aveva senso, puoi utilizzare il campo deployedModelId dalla previsione e richiedere spiegazioni per gli stessi dati e lo stesso modello. Scopri di più.

Output di esempio

Il payload di ritorno per una previsione online da un modello di classificazione tabulare con importanza delle caratteristiche è simile all'esempio seguente.

Il instanceOutputValue di 0,928652400970459 è il punteggio di affidabilità della classe con il punteggio più alto, in questo caso class_a. Il campo baselineOutputValue contiene il punteggio di previsione di riferimento, 0,808652400970459. La caratteristica che ha maggiormente contribuito a questo risultato è stata feature_3.

{
 "predictions": [
    {
      "scores": [
        0.928652400970459,
        0.071347599029541
      ],
      "classes": [
        "class_a",
        "class_b"
      ]
    }
  ]
  "explanations": [
    {
      "attributions": [
        {
          "baselineOutputValue": 0.808652400970459,
          "instanceOutputValue": 0.928652400970459,
          "approximationError":  0.0058915703929231,
          "featureAttributions": {
            "feature_1": 0.012394922231235,
            "feature_2": 0.050212341234556,
            "feature_3": 0.057392736534209,
          },
          "outputIndex": [
            0
          ],
          "outputName": "scores"
        }
      ],
    }
  ]
  "deployedModelId": "234567"
}

Previsione

I modelli di previsione restituiscono una sequenza di valori di previsione per ogni serie temporale. Il numero di valori di previsione dipende dall'input della previsione e dall'orizzonte di previsione. Ad esempio, se il tuo input ha incluso 14 voci nulle per la colonna target (come le vendite per i prossimi 14 giorni), la richiesta di previsione restituisce 14 valori, il numero di vendite per ogni giorno. Se la tua richiesta di previsione supera l'orizzonte di previsione del modello, Vertex AI restituisce solo le previsioni fino all'orizzonte di previsione.

Output di esempio

L'esempio seguente è un output della previsione batch per un modello ottimizzato quantile-loss. L'output è stato inviato a una tabella BigQuery. In questo scenario, il modello di previsione ha previsto le vendite per i prossimi 14 giorni per ogni negozio.

I valori di previsione si trovano nella colonna predicted_Sales.quantile_predictions, che è un array di valori delle vendite. Questi valori sono mappati ai valori quantili di predicted_Sales.quantile_values, quindi, ad esempio, il primo valore di ogni colonna è correlato.

In questo esempio, i valori previsti del modello nei quantili 0.1, 0.5 e 0.9, che vengono impostati quando il modello è stato addestrato. Utilizzando le previsioni dei quantili, puoi confrontare i valori per la sottoprevisione (quanto inferiore) e la sovraprevisione (quanto più alto).

Output di previsione batch di esempio per il modello di previsione

Regressione

I modelli di regressione restituiscono un valore di previsione e, per le destinazioni BigQuery, un intervallo di previsione. L'intervallo di previsione fornisce un intervallo di valori che il modello ha un'affidabilità del 95% e che contiene il risultato effettivo.

Importanza delle caratteristiche locali

L'importanza delle funzionalità locali, talvolta chiamate anche attribuzione delle caratteristiche, consente di determinare in che misura ciascuna funzionalità ha influito su una previsione specifica. L'importanza delle funzionalità locali fa parte di Vertex Explainable AI.

Per calcolare l'importanza delle funzionalità locali, viene calcolato innanzitutto il punteggio di previsione di base. I valori di riferimento vengono calcolati a partire dai dati di addestramento, utilizzando il valore mediano per le caratteristiche numeriche e la modalità per le caratteristiche categoriche. La previsione generata dai valori di riferimento è il punteggio di previsione di base. I valori di riferimento vengono calcolati una sola volta per un modello e non cambiano.

Per una previsione specifica, l'importanza della caratteristica locale per ogni caratteristica indica il grado di corrispondenza o sottrazione di tale caratteristica dal risultato rispetto al punteggio di previsione di riferimento. La somma di tutti i valori dell'importanza delle caratteristiche equivale alla differenza tra il punteggio di previsione di riferimento e il risultato della previsione.

Puoi utilizzare l'importanza delle caratteristiche per assicurarti che il modello utilizzi i dati di previsione in un modo che abbia senso per i tuoi dati e il problema aziendale. Se hai richiesto una previsione senza importanza della funzionalità e il risultato non aveva senso, puoi utilizzare il campo deployedModelId dalla previsione e richiedere spiegazioni per gli stessi dati e lo stesso modello. Scopri di più.

Output di esempio

Il payload di ritorno per una previsione online con importanza delle caratteristiche da un modello di regressione tabulare è simile all'esempio seguente.

instanceOutputValue di 1795.1246466281819 è il valore previsto, con i campi lower_bound e upper_bound che forniscono l'intervallo di confidenza del 95%. Il campo baselineOutputValue contiene il punteggio di previsione di riferimento, 1788,7423095703125. La caratteristica che ha maggiormente contribuito a questo risultato è stata feature_3.

{
  "predictions": [
    {
      "value": 1795.1246466281819,
      "lower_bound": 246.32196807861328,
      "upper_bound": 8677.51904296875
    }
  ]
  "explanations": [
    {
      "attributions": [
        {
          "baselineOutputValue": 1788.7423095703125,
          "instanceOutputValue": 1795.1246466281819,
          "approximationError": 0.0038215703911553,
          "featureAttributions": {
            "feature_1": 0.123949222312359,
            "feature_2": 0.802123412345569,
            "feature_3": 5.456264423211472,
          },
          "outputIndex": [
            -1
          ]
        }
      ]
    }
  ],
  "deployedModelId": "345678"
}

Testo

Gli obiettivi dei tipi di dati di testo includono classificazione, estrazione di entità e analisi del sentiment.

Classificazione

Le previsioni dei modelli di classificazione con più etichette restituiscono una o più etichette per ogni documento e un punteggio di affidabilità per ciascuna etichetta. Per i modelli di classificazione con etichetta singola, le previsioni restituiscono solo un'etichetta e un punteggio di affidabilità per documento.

Il punteggio di affidabilità comunica l'efficacia con cui il modello associa ogni classe o etichetta a un elemento di test. Più alto è il numero, più alta è la certezza che l'etichetta debba essere applicata all'elemento. Sei tu a decidere quanto deve essere elevato il punteggio di affidabilità per accettare i risultati del modello.

Dispositivo di scorrimento soglia del punteggio

In Google Cloud Console, Vertex AI fornisce un dispositivo di scorrimento per regolare la soglia di affidabilità per tutte le classi o etichette o per una singola classe o etichetta. Il dispositivo di scorrimento è disponibile nella pagina dei dettagli di un modello nella scheda Valuta. La soglia di affidabilità è il livello di affidabilità che il modello deve avere per assegnare una classe o un'etichetta a un elemento di test. Man mano che modifichi la soglia, puoi vedere come cambiano la precisione e il richiamo del modello. Soglie più elevate in genere aumentano la precisione, ma riducono il richiamo.

Output di previsione batch di esempio

L'esempio seguente è il risultato previsto per un modello di classificazione con più etichette. Il modello ha applicato le etichette GreatService, Suggestion e InfoRequest al documento inviato. I valori di confidenza si applicano a ogni etichetta in ordine. In questo esempio, il modello ha previsto GreatService come etichetta più pertinente.

{
  "instance": {"content": "gs://bucket/text.txt", "mimeType": "text/plain"},
  "predictions": [
    {
      "ids": [
        "1234567890123456789",
        "2234567890123456789",
        "3234567890123456789"
      ],
      "displayNames": [
        "GreatService",
        "Suggestion",
        "InfoRequest"
      ],
      "confidences": [
        0.8986392080783844,
        0.81984345316886902,
        0.7722353458404541
      ]
    }
  ]
}

Estrazione di entità

Le previsioni dei modelli di estrazione delle entità restituiscono le annotazioni per ogni documento, ad esempio la posizione delle entità rilevate, le etichette assegnate e i punteggi di affidabilità.

L'affidabilità indica il grado di certezza che il modello ha identificato ed etichettato con precisione ogni entità. Più alto è il numero, più alto è il livello di confidenza del modello nella correttezza della previsione.

Output di previsione batch di esempio

Il seguente esempio è il risultato previsto per un modello di estrazione di entità che è stato addestrato per rilevare malattie. Gli offset (offset di caratteri iniziali e finali) specificano la posizione in cui il modello ha rilevato un'entità nel documento, mentre il campo content mostra l'entità rilevata.

I nomi visualizzati mostrano le etichette associate al modello a ogni entità, ad esempio SpecificDisease o DiseaseClass. Le etichette vengono mappate in base ai segmenti di testo nell'ordine indicato.

{
  "key": 1,
  "predictions": {
    "ids": [
      "1234567890123456789",
      "2234567890123456789",
      "3234567890123456789"
    ],
    "displayNames": [
      "SpecificDisease",
      "DiseaseClass",
      "SpecificDisease"
    ],
    "textSegmentStartOffsets":  [13, 40, 57],
    "textSegmentEndOffsets": [29, 51, 75],
    "confidences": [
      0.99959725141525269,
      0.99912621492484128,
      0.99935531616210938
    ]
  }
}

Analisi del sentiment

Le previsioni dei modelli di analisi del sentiment restituiscono il sentiment complessivo per un documento. Il sentiment è rappresentato da un numero intero compreso tra 0 e il punteggio massimo di sentiment del modello, che può essere uguale o inferiore a 10. Il valore di sentiment massimo per un modello viene impostato durante l'addestramento. Ad esempio, se un modello è stato addestrato su un set di dati con un punteggio di sentiment massimo pari a 2, i punteggi di sentiment previsti possono essere 0 (negativi), 1 (neutro) o 2 (positivo).

Output di previsione batch di esempio

L'esempio seguente rappresenta il risultato previsto per un singolo documento. Poiché il punteggio di sentiment massimo del modello è 8, il sentiment previsto per questo esempio è chiaramente positivo.

{
  "instance": {"content": "gs://bucket/text.txt", "mimeType": "text/plain"},
  "prediction": {"sentiment": 8}
}

Video

Gli obiettivi per i tipi di dati video includono la classificazione e il monitoraggio degli oggetti.

Riconoscimento delle azioni

Le previsioni di un modello di riconoscimento delle azioni restituiscono i momenti delle azioni, in base alle tue etichette personalizzate. Il modello assegna un punteggio di affidabilità a ciascuna previsione, che comunica il grado di certezza che il modello ha identificato con precisione un'azione. Più alto è il numero, più alta è la fiducia del modello rispetto alla correttezza della previsione.

Output di previsione batch di esempio

L'esempio seguente è il risultato previsto per un modello che identifica le azioni "swing" e "jump" in un video. Ogni risultato include un'etichetta ("swing" o "jump") per l'azione identificata, un segmento temporale con lo stesso ora di inizio e di fine che specifica il momento dell'azione e un punteggio di affidabilità.

{
  "instance": {
   "content": "gs://bucket/video.mp4",
    "mimeType": "video/mp4",
    "timeSegmentStart": "1s",
    "timeSegmentEnd": "5s"
  }
  "prediction": [{
    "id": "1",
    "displayName": "swing",
    "timeSegmentStart": "1.2s",
    "timeSegmentEnd": "1.2s",
    "confidence": 0.7
  }, {
    "id": "2",
    "displayName": "jump",
    "timeSegmentStart": "3.4s",
    "timeSegmentEnd": "3.4s",
    "confidence": 0.5
  }]
}

Classificazione

Le previsioni di un modello di classificazione restituiscono scatti e segmenti dei tuoi video classificati in base alle tue etichette personalizzate. A ogni previsione viene assegnato un punteggio di affidabilità.

Il punteggio di affidabilità comunica l'efficacia con cui il modello associa ogni classe o etichetta a un elemento di test. Più alto è il numero, più alta è la certezza che l'etichetta debba essere applicata all'elemento. Sei tu a decidere quanto deve essere elevato il punteggio di affidabilità per accettare i risultati del modello.

Dispositivo di scorrimento soglia del punteggio

In Google Cloud Console, Vertex AI fornisce un dispositivo di scorrimento per regolare la soglia di affidabilità per tutte le classi o etichette o per una singola classe o etichetta. Il dispositivo di scorrimento è disponibile nella pagina dei dettagli di un modello nella scheda Valuta. La soglia di affidabilità è il livello di affidabilità che il modello deve avere per assegnare una classe o un'etichetta a un elemento di test. Man mano che modifichi la soglia, puoi vedere come cambiano la precisione e il richiamo del modello. Soglie più elevate in genere aumentano la precisione, ma riducono il richiamo.

Output di previsione batch di esempio

L'esempio seguente mostra il risultato previsto per un modello che identifica gatti e cani in un video. Il risultato include classificazioni di segmenti, scatti e intervalli di un secondo.

{
  "instance": {
   "content": "gs://bucket/video.mp4",
    "mimeType": "video/mp4",
    "timeSegmentStart": "1s",
    "timeSegmentEnd": "5s"
  }
  "prediction": [{
    "id": "1",
    "displayName": "cat",
    "type": "segment-classification",
    "timeSegmentStart": "1s",
    "timeSegmentEnd": "5s",
    "confidence": 0.7
  }, {
    "id": "1",
    "displayName": "cat",
    "type": "shot-classification",
    "timeSegmentStart": "1s",
    "timeSegmentEnd": "4s",
    "confidence": 0.9
  }, {
    "id": "2",
    "displayName": "dog",
    "type": "shot-classification",
    "timeSegmentStart": "4s",
    "timeSegmentEnd": "5s",
    "confidence": 0.6
  }, {
    "id": "1",
    "displayName": "cat",
    "type": "one-sec-interval-classification",
    "timeSegmentStart": "1s",
    "timeSegmentEnd": "1s",
    "confidence": 0.95
  }, {
    "id": "1",
    "displayName": "cat",
    "type": "one-sec-interval-classification",
    "timeSegmentStart": "2s",
    "timeSegmentEnd": "2s",
    "confidence": 0.9
  }, {
    "id": "1",
    "displayName": "cat",
    "type": "one-sec-interval-classification",
    "timeSegmentStart": "3s",
    "timeSegmentEnd": "3s",
    "confidence": 0.85
  }, {
    "id": "2",
    "displayName": "dog",
    "type": "one-sec-interval-classification",
    "timeSegmentStart": "4s",
    "timeSegmentEnd": "4s",
    "confidence": 0.6
  }]
}

Monitoraggio oggetti

Le previsioni di un modello di monitoraggio degli oggetti restituiscono il tempo e le posizioni degli oggetti da monitorare, in base alle etichette definite da te. Il modello assegna un punteggio di affidabilità a ciascuna previsione, che comunica il grado di certezza con cui il modello ha identificato e monitorato con precisione un oggetto. Più alto è il numero, più alta è la fiducia del modello nella correttezza della previsione.

Output di previsione batch di esempio

L'esempio seguente è il risultato previsto di un modello che monitora cani e gatti in un video. Ogni risultato include un'etichetta (cat o dog) per l'oggetto monitorato, un segmento temporale che specifica quando e per quanto tempo l'oggetto viene monitorato e un riquadro di delimitazione che descrive la posizione dell'oggetto.

{
  "instance": {
   "content": "gs://bucket/video.mp4",
    "mimeType": "video/mp4",
    "timeSegmentStart": "1s",
    "timeSegmentEnd": "5s"
  }
  "prediction": [{
    "id": "1",
    "displayName": "cat",
    "timeSegmentStart": "1.2s",
    "timeSegmentEnd": "3.4s",
    "frames": [{
      "timeOffset": "1.2s",
      "xMin": 0.1,
      "xMax": 0.2,
      "yMin": 0.3,
      "yMax": 0.4
    }, {
      "timeOffset": "3.4s",
      "xMin": 0.2,
      "xMax": 0.3,
      "yMin": 0.4,
      "yMax": 0.5,
    }],
    "confidence": 0.7
  }, {
    "id": "1",
    "displayName": "cat",
    "timeSegmentStart": "4.8s",
    "timeSegmentEnd": "4.8s",
    "frames": [{
      "timeOffset": "4.8s",
      "xMin": 0.2,
      "xMax": 0.3,
      "yMin": 0.4,
      "yMax": 0.5,
    }],
    "confidence": 0.6
  }, {
    "id": "2",
    "displayName": "dog",
    "timeSegmentStart": "1.2s",
    "timeSegmentEnd": "3.4s",
    "frames": [{
      "timeOffset": "1.2s",
      "xMin": 0.1,
      "xMax": 0.2,
      "yMin": 0.3,
      "yMax": 0.4
    }, {
      "timeOffset": "3.4s",
      "xMin": 0.2,
      "xMax": 0.3,
      "yMin": 0.4,
      "yMax": 0.5,
    }],
    "confidence": 0.5
  }]
}