Ottenere previsioni e spiegazioni batch

Questa pagina mostra come effettuare una richiesta di previsione batch al modello di classificazione o regressione AutoML addestrato utilizzando la console Google Cloud o l'API Vertex AI.

Una richiesta di previsione batch è una richiesta asincrona (a differenza della previsione online, che è una richiesta sincrona). Puoi richiedere previsioni batch direttamente dalla risorsa del modello senza dover eseguire il deployment del modello su un endpoint. Per i dati tabulari, utilizza le previsioni batch quando non hai bisogno di una risposta immediata e vuoi elaborare i dati accumulati attraverso un'unica richiesta.

Per effettuare una richiesta di previsione batch, devi specificare un'origine di input e un formato di output in cui Vertex AI archivia i risultati delle previsioni.

Prima di iniziare

Prima di poter effettuare una richiesta di previsione batch, devi addestrare un modello.

Dati di input

I dati di input per le richieste di previsione batch sono i dati che il modello utilizza per fare previsioni. Per i modelli di classificazione o regressione, puoi fornire dati di input in uno di due formati:

  • Tabelle BigQuery
  • Oggetti CSV in Cloud Storage

Ti consigliamo di utilizzare per i dati di input lo stesso formato utilizzato per addestrare il modello. Ad esempio, se hai addestrato il modello utilizzando dati in BigQuery, ti consigliamo di utilizzare una tabella BigQuery come input per la previsione batch. Poiché Vertex AI tratta tutti i campi di immissione CSV come stringhe, la combinazione dei formati dei dati di addestramento e di input può causare errori.

L'origine dati deve contenere dati tabulari che includono tutte le colonne, in qualsiasi ordine, utilizzate per addestrare il modello. Puoi includere colonne che non erano presenti nei dati di addestramento o che lo erano nei dati di addestramento, ma escluse dall'uso per l'addestramento. Queste colonne aggiuntive sono incluse nell'output, ma non influiscono sui risultati della previsione.

Requisiti dei dati di input

Tabella BigQuery

Se scegli una tabella BigQuery come input, devi garantire quanto segue:

  • Le tabelle BigQuery che fungono da origine dati non devono essere più grandi di 100 GB.
  • Se la tabella si trova in un progetto diverso, devi concedere il ruolo BigQuery Data Editor all'account di servizio Vertex AI in quel progetto.

File CSV

Se scegli un oggetto CSV in Cloud Storage come input, devi assicurarti di quanto segue:

  • L'origine dati deve iniziare con una riga di intestazione con i nomi delle colonne.
  • Ogni oggetto dell'origine dati non deve superare i 10 GB. Puoi includere più file, fino a un massimo di 100 GB.
  • Se il bucket Cloud Storage si trova in un progetto diverso, devi concedere il ruolo Storage Object Creator all'account di servizio Vertex AI in quel progetto.
  • Devi racchiudere tutte le stringhe tra virgolette doppie (").

Formato di output

Il formato di output della richiesta di previsione batch non deve essere necessariamente il formato utilizzato per l'input. Ad esempio, se hai utilizzato una tabella BigQuery come input, puoi inviare i risultati a un oggetto CSV in Cloud Storage.

invia una richiesta di previsione batch al modello

Per effettuare richieste di previsione batch, puoi utilizzare la console Google Cloud o l'API Vertex AI. L'origine dati di input può essere costituita da oggetti CSV archiviati in un bucket Cloud Storage o in tabelle BigQuery. A seconda della quantità di dati inviati come input, il completamento di un'attività di previsione batch può richiedere del tempo.

Console Google Cloud

Utilizza la console Google Cloud per richiedere una previsione batch.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla pagina Previsioni batch.

    Vai alla pagina Previsioni batch

  2. Fai clic su Crea per aprire la finestra Nuova previsione batch.
  3. Per Definisci la previsione batch, completa i seguenti passaggi:
    1. Inserisci un nome per la previsione batch.
    2. In Nome modello, seleziona il nome del modello da utilizzare per questa previsione batch.
    3. Per Versione, seleziona la versione del modello da utilizzare per questa previsione batch.
    4. In Seleziona origine, scegli se i dati di input di origine sono un file CSV su Cloud Storage o una tabella in BigQuery.
      • Per i file CSV, specifica il percorso di Cloud Storage in cui si trova il file di input CSV.
      • Per le tabelle BigQuery, specifica l'ID progetto in cui si trova la tabella, l'ID del set di dati BigQuery e l'ID tabella o vista BigQuery.
    5. In Output, seleziona CSV o BigQuery.
      • Per il formato CSV, specifica il bucket Cloud Storage in cui Vertex AI archivia l'output.
      • Per BigQuery, puoi specificare un ID progetto o un set di dati esistente:
        • Per specificare l'ID progetto, inserisci l'ID nel campo ID progetto Google Cloud. Vertex AI crea un nuovo set di dati di output per te.
        • Per specificare un set di dati esistente, inserisci il relativo percorso BigQuery nel campo ID progetto Google Cloud, ad esempio bq://projectid.datasetid.
      • (Facoltativo) Puoi richiedere una previsione con spiegazioni (chiamate anche attribuzioni di caratteristiche) per vedere in che modo il modello ha raggiunto una previsione. I valori di importanza delle caratteristiche locali indicano in che misura ciascuna caratteristica ha contribuito al risultato della previsione. Le attribuzioni delle caratteristiche sono incluse nelle previsioni di Vertex AI tramite Vertex Explainable AI.

        Per attivare le attribuzioni delle caratteristiche, seleziona Attiva attribuzioni delle caratteristiche per questo modello. Questa opzione è disponibile se la destinazione di output è BigQuery o JSONL su Cloud Storage. Le attribuzioni delle caratteristiche non sono supportate per i file CSV in Cloud Storage.

  4. (Facoltativo) L'analisi del monitoraggio dei modelli per le previsioni batch è disponibile in Anteprima. Consulta i prerequisiti per aggiungere la configurazione del rilevamento del disallineamento al job di previsione batch.
    1. Fai clic per attivare l'opzione Abilita il monitoraggio del modello per questa previsione batch.
    2. Seleziona un'origine dati di addestramento. Inserisci il percorso o la località dei dati per l'origine dati di addestramento selezionata.
    3. (Facoltativo) In Soglie di avviso, specifica le soglie in base alle quali attivare gli avvisi.
    4. In Email di notifica, inserisci uno o più indirizzi email separati da virgole per ricevere avvisi quando un modello supera una soglia di avviso.
    5. (Facoltativo) Per i canali di notifica, aggiungi canali Cloud Monitoring per ricevere avvisi quando un modello supera una soglia di avviso. Puoi selezionare i canali Cloud Monitoring esistenti o crearne uno nuovo facendo clic su Gestisci canali di notifica. La console supporta i canali di notifica PagerDuty, Slack e Pub/Sub.
  5. Fai clic su Crea.

API: BigQuery

REST

Puoi usare il metodo batchPredictionJobs.create per richiedere una previsione batch.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: regione in cui viene archiviato il modello ed viene eseguito il job di previsione batch. Ad esempio, us-central1.
  • PROJECT_ID: il tuo ID progetto
  • BATCH_JOB_NAME: nome visualizzato per il job batch
  • MODEL_ID: l'ID del modello da utilizzare per eseguire le previsioni.
  • INPUT_URI: riferimento all'origine dati BigQuery. Nel modulo:
    bq://bqprojectId.bqDatasetId.bqTableId
    
  • OUTPUT_URI: riferimento alla destinazione BigQuery (dove verranno scritte le previsioni). Specifica l'ID progetto e, facoltativamente, un ID set di dati esistente. Se specifichi solo l'ID progetto, Vertex AI crea un nuovo set di dati di output per te. Usa il modulo seguente:
    bq://bqprojectId.bqDatasetId
    
  • MACHINE_TYPE: le risorse della macchina da utilizzare per questo job di previsione batch. Scopri di più.
  • STARTING_REPLICA_COUNT: il numero iniziale di nodi per questo job di previsione batch. Il numero di nodi può essere aumentato o diminuito in base alle esigenze del carico, fino al numero massimo di nodi, ma non scenderà mai al di sotto di questo numero.
  • MAX_REPLICA_COUNT: il numero massimo di nodi per questo job di previsione batch. Il numero di nodi può essere aumentato o diminuito in base alle esigenze del carico, ma non supererà mai il numero massimo. (Facoltativo) Il valore predefinito è 10.
  • GENERATE_EXPLANATION: puoi richiedere una previsione con spiegazioni (chiamate anche attribuzioni delle caratteristiche) per capire in che modo il tuo modello ha raggiunto una previsione. I valori di importanza delle caratteristiche locali indicano in che misura ciascuna caratteristica ha contribuito al risultato della previsione. Le attribuzioni delle caratteristiche sono incluse nelle previsioni di Vertex AI tramite Vertex Explainable AI.

    Il valore predefinito è false. Impostalo su true per attivare le attribuzioni delle caratteristiche.

Metodo HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs

Corpo JSON della richiesta:

{
  "displayName": "BATCH_JOB_NAME",
  "model": "MODEL_ID",
  "inputConfig": {
    "instancesFormat": "bigquery",
    "bigquerySource": {
      "inputUri": "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat": "bigquery",
    "bigqueryDestination": {
      "outputUri": "OUTPUT_URI"
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "MACHINE_TYPE",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": STARTING_REPLICA_COUNT,
    "maxReplicaCount": MAX_REPLICA_COUNT
  },

  "generateExplanation": GENERATE_EXPLANATION

}

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs"

PowerShell

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs/67890",
  "displayName": "batch_job_1 202005291958",
  "model": "projects/12345/locations/us-central1/models/5678",
  "state": "JOB_STATE_PENDING",
  "inputConfig": {
    "instancesFormat": "bigquery",
    "bigquerySource": {
      "inputUri": "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat": "bigquery",
    "bigqueryDestination": {
        "outputUri": bq://12345
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "n1-standard-32",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": 2,
    "maxReplicaCount": 6
  },
  "manualBatchTuningParameters": {
    "batchSize": 4
  },
  "generateExplanation": false,
  "outputInfo": {
    "bigqueryOutputDataset": "bq://12345.reg_model_2020_10_02_06_04
  }
  "state": "JOB_STATE_PENDING",
  "createTime": "2020-09-30T02:58:44.341643Z",
  "updateTime": "2020-09-30T02:58:44.341643Z",
}

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.

Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

Nell'esempio seguente, sostituisci INSTANCES_FORMAT e PREDICTIONS_FORMAT con "bigquery". Per scoprire come sostituire gli altri segnaposto, consulta la scheda "RIGA REST e CMD" di questa sezione.
import com.google.cloud.aiplatform.v1.BatchPredictionJob;
import com.google.cloud.aiplatform.v1.BigQueryDestination;
import com.google.cloud.aiplatform.v1.BigQuerySource;
import com.google.cloud.aiplatform.v1.JobServiceClient;
import com.google.cloud.aiplatform.v1.JobServiceSettings;
import com.google.cloud.aiplatform.v1.LocationName;
import com.google.cloud.aiplatform.v1.ModelName;
import com.google.gson.JsonObject;
import com.google.protobuf.Value;
import com.google.protobuf.util.JsonFormat;
import java.io.IOException;

public class CreateBatchPredictionJobBigquerySample {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String project = "PROJECT";
    String displayName = "DISPLAY_NAME";
    String modelName = "MODEL_NAME";
    String instancesFormat = "INSTANCES_FORMAT";
    String bigquerySourceInputUri = "BIGQUERY_SOURCE_INPUT_URI";
    String predictionsFormat = "PREDICTIONS_FORMAT";
    String bigqueryDestinationOutputUri = "BIGQUERY_DESTINATION_OUTPUT_URI";
    createBatchPredictionJobBigquerySample(
        project,
        displayName,
        modelName,
        instancesFormat,
        bigquerySourceInputUri,
        predictionsFormat,
        bigqueryDestinationOutputUri);
  }

  static void createBatchPredictionJobBigquerySample(
      String project,
      String displayName,
      String model,
      String instancesFormat,
      String bigquerySourceInputUri,
      String predictionsFormat,
      String bigqueryDestinationOutputUri)
      throws IOException {
    JobServiceSettings settings =
        JobServiceSettings.newBuilder()
            .setEndpoint("us-central1-aiplatform.googleapis.com:443")
            .build();
    String location = "us-central1";

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (JobServiceClient client = JobServiceClient.create(settings)) {
      JsonObject jsonModelParameters = new JsonObject();
      Value.Builder modelParametersBuilder = Value.newBuilder();
      JsonFormat.parser().merge(jsonModelParameters.toString(), modelParametersBuilder);
      Value modelParameters = modelParametersBuilder.build();
      BigQuerySource bigquerySource =
          BigQuerySource.newBuilder().setInputUri(bigquerySourceInputUri).build();
      BatchPredictionJob.InputConfig inputConfig =
          BatchPredictionJob.InputConfig.newBuilder()
              .setInstancesFormat(instancesFormat)
              .setBigquerySource(bigquerySource)
              .build();
      BigQueryDestination bigqueryDestination =
          BigQueryDestination.newBuilder().setOutputUri(bigqueryDestinationOutputUri).build();
      BatchPredictionJob.OutputConfig outputConfig =
          BatchPredictionJob.OutputConfig.newBuilder()
              .setPredictionsFormat(predictionsFormat)
              .setBigqueryDestination(bigqueryDestination)
              .build();
      String modelName = ModelName.of(project, location, model).toString();
      BatchPredictionJob batchPredictionJob =
          BatchPredictionJob.newBuilder()
              .setDisplayName(displayName)
              .setModel(modelName)
              .setModelParameters(modelParameters)
              .setInputConfig(inputConfig)
              .setOutputConfig(outputConfig)
              .build();
      LocationName parent = LocationName.of(project, location);
      BatchPredictionJob response = client.createBatchPredictionJob(parent, batchPredictionJob);
      System.out.format("response: %s\n", response);
      System.out.format("\tName: %s\n", response.getName());
    }
  }
}

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.

Nell'esempio seguente, imposta i parametri "instances_format" e "predictions_format" su "bigquery". Per scoprire come impostare gli altri parametri, consulta la scheda "REST & CMD LINE" di questa sezione.
from google.cloud import aiplatform_v1beta1
from google.protobuf import json_format
from google.protobuf.struct_pb2 import Value


def create_batch_prediction_job_bigquery_sample(
    project: str,
    display_name: str,
    model_name: str,
    instances_format: str,
    bigquery_source_input_uri: str,
    predictions_format: str,
    bigquery_destination_output_uri: str,
    location: str = "us-central1",
    api_endpoint: str = "us-central1-aiplatform.googleapis.com",
):
    # The AI Platform services require regional API endpoints.
    client_options = {"api_endpoint": api_endpoint}
    # Initialize client that will be used to create and send requests.
    # This client only needs to be created once, and can be reused for multiple requests.
    client = aiplatform_v1beta1.JobServiceClient(client_options=client_options)
    model_parameters_dict = {}
    model_parameters = json_format.ParseDict(model_parameters_dict, Value())

    batch_prediction_job = {
        "display_name": display_name,
        # Format: 'projects/{project}/locations/{location}/models/{model_id}'
        "model": model_name,
        "model_parameters": model_parameters,
        "input_config": {
            "instances_format": instances_format,
            "bigquery_source": {"input_uri": bigquery_source_input_uri},
        },
        "output_config": {
            "predictions_format": predictions_format,
            "bigquery_destination": {"output_uri": bigquery_destination_output_uri},
        },
        # optional
        "generate_explanation": True,
    }
    parent = f"projects/{project}/locations/{location}"
    response = client.create_batch_prediction_job(
        parent=parent, batch_prediction_job=batch_prediction_job
    )
    print("response:", response)

API: Cloud Storage

REST

Per richiedere una previsione batch, utilizzerai il metodo batchPredictionJobs.create.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION_ID: regione in cui viene archiviato il modello ed viene eseguito il job di previsione batch. Ad esempio, us-central1.
  • PROJECT_ID: il tuo ID progetto
  • BATCH_JOB_NAME: nome visualizzato per il job batch
  • MODEL_ID: l'ID del modello da utilizzare per eseguire le previsioni.
  • URI: percorsi (URI) dei bucket Cloud Storage contenenti i dati di addestramento. Possono esserci più opzioni. Ogni URI ha il seguente formato:
    gs://bucketName/pathToFileName
    
  • OUTPUT_URI_PREFIX: percorso di una destinazione Cloud Storage in cui verranno scritte le previsioni. Vertex AI scrive le previsioni batch in una sottodirectory con timestamp di questo percorso. Imposta questo valore su una stringa con il seguente formato:
    gs://bucketName/pathToOutputDirectory
    
  • MACHINE_TYPE: le risorse della macchina da utilizzare per questo job di previsione batch. Scopri di più.
  • STARTING_REPLICA_COUNT: il numero iniziale di nodi per questo job di previsione batch. Il numero di nodi può essere aumentato o diminuito in base alle esigenze del carico, fino al numero massimo di nodi, ma non scenderà mai al di sotto di questo numero.
  • MAX_REPLICA_COUNT: il numero massimo di nodi per questo job di previsione batch. Il numero di nodi può essere aumentato o diminuito in base alle esigenze del carico, ma non supererà mai il numero massimo. (Facoltativo) Il valore predefinito è 10.
  • GENERATE_EXPLANATION: puoi richiedere una previsione con spiegazioni (chiamate anche attribuzioni delle caratteristiche) per capire in che modo il tuo modello ha raggiunto una previsione. I valori di importanza delle caratteristiche locali indicano in che misura ciascuna caratteristica ha contribuito al risultato della previsione. Le attribuzioni delle caratteristiche sono incluse nelle previsioni di Vertex AI tramite Vertex Explainable AI.

    Il valore predefinito è false. Impostalo su true per attivare le attribuzioni delle caratteristiche. Questa opzione è disponibile solo se la destinazione di output è JSONL. Le attribuzioni delle caratteristiche non sono supportate per i file CSV in Cloud Storage.

Metodo HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs

Corpo JSON della richiesta:

{
  "displayName": "BATCH_JOB_NAME",
  "model": "MODEL_ID",
  "inputConfig": {
    "instancesFormat": "csv",
    "gcsSource": {
      "uris": [
        URI1,...
      ]
    },
  },
  "outputConfig": {
    "predictionsFormat": "csv",
    "gcsDestination": {
      "outputUriPrefix": "OUTPUT_URI_PREFIX"
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "MACHINE_TYPE",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": STARTING_REPLICA_COUNT,
    "maxReplicaCount": MAX_REPLICA_COUNT
  },

  "generateExplanation": GENERATE_EXPLANATION

}

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs"

PowerShell

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/batchPredictionJobs" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT__ID/locations/LOCATION_ID/batchPredictionJobs/67890",
  "displayName": "batch_job_1 202005291958",
  "model": "projects/12345/locations/us-central1/models/5678",
  "state": "JOB_STATE_PENDING",
  "inputConfig": {
    "instancesFormat": "csv",
    "gcsSource": {
      "uris": [
        "gs://bp_bucket/reg_mode_test"
      ]
    }
  },
  "outputConfig": {
    "predictionsFormat": "csv",
    "gcsDestination": {
      "outputUriPrefix": "OUTPUT_URI_PREFIX"
    }
  },
  "dedicatedResources": {
    "machineSpec": {
      "machineType": "n1-standard-32",
      "acceleratorCount": "0"
    },
    "startingReplicaCount": 2,
    "maxReplicaCount": 6
  },
  "manualBatchTuningParameters": {
    "batchSize": 4
  }
  "outputInfo": {
    "gcsOutputDataset": "OUTPUT_URI_PREFIX/prediction-batch_job_1 202005291958-2020-09-30T02:58:44.341643Z"
  }
  "state": "JOB_STATE_PENDING",
  "createTime": "2020-09-30T02:58:44.341643Z",
  "updateTime": "2020-09-30T02:58:44.341643Z",
}

Recupera i risultati della previsione batch

Vertex AI invia l'output delle previsioni batch alla destinazione specificata, che può essere BigQuery o Cloud Storage.

BigQuery

Set di dati di output

Se utilizzi BigQuery, l'output della previsione batch viene archiviato in un set di dati di output. Se hai fornito un set di dati a Vertex AI, il nome del set di dati (BQ_DATASET_NAME) è quello che avevi fornito in precedenza. Se non hai fornito un set di dati di output, Vertex AI ne ha creato uno per te. Per trovarlo (BQ_DATASET_NAME) segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Previsioni batch di Vertex AI.

    Vai alla pagina Previsioni batch

  2. Seleziona la previsione che hai creato.
  3. Il set di dati di output è specificato in Esporta posizione. Il nome del set di dati è formattato come segue: prediction_MODEL_NAME_TIMESTAMP
Tabelle di output

Il set di dati di output contiene una o più delle seguenti tre tabelle di output:

  • Tabella delle previsioni

    Questa tabella contiene una riga per ogni riga nei dati di input in cui è stata richiesta una previsione (ovvero, dove TARGET_COLUMN_NAME = null).

  • Tabella degli errori

    Questa tabella contiene una riga per ogni errore non critico riscontrato durante la previsione batch. Ogni errore non critico corrisponde a una riga nei dati di input per cui Vertex AI non ha potuto restituire una previsione.

Tabella delle previsioni

Il nome della tabella (BQ_PREDICTIONS_TABLE_NAME) viene formato aggiungendo "predictions_" con il timestamp dell'inizio del job di previsione batch: predictions_TIMESTAMP

Per recuperare le previsioni, vai alla pagina di BigQuery.

Vai a BigQuery

Il formato della query dipende dal tipo di modello:

Classificazione:

SELECT predicted_TARGET_COLUMN_NAME.classes AS classes,
predicted_TARGET_COLUMN_NAME.scores AS scores
FROM BQ_DATASET_NAME.BQ_PREDICTIONS_TABLE_NAME

classes è l'elenco di classi potenziali, mentre scores sono i punteggi di confidenza corrispondenti.

Regressione:

SELECT predicted_TARGET_COLUMN_NAME.value,
predicted_TARGET_COLUMN_NAME.lower_bound,
predicted_TARGET_COLUMN_NAME.upper_bound
FROM BQ_DATASET_NAME.BQ_PREDICTIONS_TABLE_NAME

Se hai attivato le attribuzioni delle caratteristiche, puoi trovarle anche nella tabella delle previsioni. Per accedere alle attribuzioni di una funzionalità BQ_FEATURE_NAME, esegui la seguente query:

SELECT explanation.attributions[OFFSET(0)].featureAttributions.BQ_FEATURE_NAME FROM BQ_DATASET_NAME.BQ_PREDICTIONS_TABLE_NAME
  

Tabella degli errori

Il nome della tabella (BQ_ERRORS_TABLE_NAME) viene creato aggiungendo errors_ con il timestamp di inizio del job di previsione batch: errors_TIMESTAMP Per recuperare la tabella di convalida degli errori:
  1. Nella console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Esegui la query seguente:
    SELECT * FROM BQ_DATASET_NAME.BQ_ERRORS_TABLE_NAME
          
Gli errori vengono archiviati nelle seguenti colonne:
  • errori_TARGET_COLUMN_NAME.code
  • errori_TARGET_COLUMN_NAME.message

Cloud Storage

Se hai specificato Cloud Storage come destinazione di output, i risultati della richiesta di previsione batch vengono restituiti come oggetti CSV in una nuova cartella del bucket specificato. Il nome della cartella è il nome del modello, preceduto da "prediction-" e dal timestamp con l'avvio del job di previsione batch. Puoi trovare il nome della cartella Cloud Storage nella scheda Previsioni batch del modello.

La cartella di Cloud Storage contiene due tipi di oggetti:
  • Oggetti Previsione

    Gli oggetti di previsione sono denominati "predictions_1.csv", "predictions_2.csv" e così via. Contengono una riga di intestazione con i nomi delle colonne e una riga per ogni previsione restituita. Negli oggetti di previsione, Vertex AI restituisce i dati di previsione e crea una o più nuove colonne per i risultati della previsione in base al tipo di modello:

    • Classificazione: per ogni valore potenziale della colonna di destinazione, ai risultati viene aggiunta una colonna denominata TARGET_COLUMN_NAME_VALUE_score. Questa colonna contiene il punteggio o la stima di confidenza per quel valore.
    • Regressione: il valore previsto per quella riga viene restituito in una colonna denominata predicted_TARGET_COLUMN_NAME. L'intervallo di previsione non viene restituito per l'output CSV.
  • Oggetti di errore

    Gli oggetti di errore sono denominati "errors_1.csv", "errors_2.csv" e così via. Contengono una riga di intestazione e una riga per ogni riga nei dati di input per cui Vertex AI non ha potuto restituire una previsione (ad esempio, se una caratteristica che non supporta valori null era null).

Nota: se i risultati sono di grandi dimensioni, viene suddiviso in più oggetti.

Le attribuzioni delle caratteristiche non sono disponibili per i risultati delle previsioni batch restituiti in Cloud Storage.

Interpreta i risultati delle previsioni

Classificazione

I modelli di classificazione restituiscono un punteggio di confidenza.

Il punteggio di affidabilità indica in che misura il modello associa ogni classe o etichetta a un elemento di test. Più elevato è il numero, maggiore è il livello di confidenza del modello che l'etichetta deve essere applicata a quell'elemento. Decidi tu quanto deve essere alto il punteggio di affidabilità per accettare i risultati del modello.

Regressione

I modelli di regressione restituiscono un valore di previsione. Per le destinazioni BigQuery, restituiscono anche un intervallo di previsione. L'intervallo di previsione fornisce un intervallo di valori in cui il modello ha una confidenza del 95% contenente il risultato effettivo.

Interpretare i risultati della spiegazione

Se i risultati delle previsioni batch vengono archiviati in BigQuery e hai scelto di attivare le attribuzioni delle caratteristiche, puoi trovare i valori di attribuzione delle caratteristiche nella tabella delle previsioni.

Per calcolare l'importanza delle caratteristiche locali, viene prima calcolato il punteggio di previsione di riferimento. I valori di riferimento vengono calcolati 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 volta per un modello e non cambiano.

Per una previsione specifica, l'importanza delle caratteristiche locali per ogni funzionalità indica quanto quella caratteristica è stata aggiunta o sottratta dal risultato rispetto al punteggio di previsione di riferimento. La somma di tutti i valori di importanza delle caratteristiche equivale alla differenza tra il punteggio di previsione di riferimento e il risultato della previsione.

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

Per esempi di query di attribuzione delle caratteristiche e per scoprire di più, consulta Attribuzioni delle caratteristiche per classificazione e regressione.

Passaggi successivi