Questa pagina mostra come creare una previsione utilizzando il modello di previsione addestrato.
Per creare una previsione, invia una richiesta di previsione batch direttamente al tuo modello di previsione, specificando un'origine di input e una località di output in cui archiviare i risultati della previsione.
Le previsioni con AutoML non sono compatibili con il deployment degli endpoint o con le previsioni online. Se vuoi richiedere previsioni online dal modello di previsione, utilizza Flusso di lavoro tabulare per le previsioni.
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. Per una panoramica concettuale, consulta Attribuzioni delle funzionalità per le previsioni.
Prima di iniziare
Prima di poter creare una previsione, devi addestrare un modello di previsione.
Dati di input
I dati di input per le richieste di previsione batch sono i dati utilizzati dal modello per creare previsioni. Puoi fornire i dati di input in uno di due formati:
- Oggetti CSV in Cloud Storage
- Tabelle BigQuery
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
L'input per i modelli di previsione deve rispettare i seguenti requisiti:
- Tutti i valori nella colonna dell'ora devono essere presenti e validi.
- La frequenza dei dati di input deve corrispondere a quella dei dati di addestramento. Se nelle serie temporali mancano righe, devi inserirle manualmente in base alle conoscenze del dominio appropriate.
- Le serie temporali con timestamp duplicati vengono rimosse dalle previsioni. Per includerli, rimuovi tutti i timestamp duplicati.
- Fornisci dati storici per ogni serie temporale da prevedere. Per previsioni più accurate, la quantità di dati deve corrispondere alla finestra di contesto, impostata durante l'addestramento del modello. Ad esempio, se la finestra di contesto è di 14 giorni, fornisci almeno 14 giorni di dati storici. Se fornisci meno dati, Vertex AI riempie i dati con valori vuoti.
- La previsione inizia sulla prima riga di una serie temporale (ordinata per ora) con un valore null nella colonna di destinazione. Il valore null deve essere continuo all'interno della serie temporale. Ad esempio, se la colonna di destinazione è ordinata in base all'ora, non puoi avere elementi simili a
1
,2
,null
,3
,4
,null
enull
per una singola serie temporale. Per i file CSV, Vertex AI considera una stringa vuota come nulla, mentre per BigQuery i valori null sono supportati in modo nativo.
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 della previsione 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.
- Nella sezione Vertex AI della console Google Cloud, vai alla pagina Previsioni batch.
- Fai clic su Crea per aprire la finestra Nuova previsione batch.
- Per Definisci la previsione batch, completa i seguenti passaggi:
- Inserisci un nome per la previsione batch.
- In Nome modello, seleziona il nome del modello da utilizzare per questa previsione batch.
- In Versione, seleziona la versione del modello.
- 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.
- Per Output previsione batch, 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, inseriscilo 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. Se la destinazione di output è BigQuery o JSONL su Cloud Storage, puoi abilitare le attribuzioni delle funzionalità oltre alle previsioni. Per farlo, seleziona Attiva attribuzioni delle caratteristiche per questo modello. Le attribuzioni delle caratteristiche non sono supportate per i file CSV in Cloud Storage. Scopri di più.
- (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.
- Fai clic per attivare l'opzione Abilita il monitoraggio del modello per questa previsione batch.
- Seleziona un'origine dati di addestramento. Inserisci il percorso o la località dei dati per l'origine dati di addestramento selezionata.
- (Facoltativo) In Soglie di avviso, specifica le soglie in base alle quali attivare gli avvisi.
- In Email di notifica, inserisci uno o più indirizzi email separati da virgole per ricevere avvisi quando un modello supera una soglia di avviso.
- (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.
- Fai clic su Crea.
API : BigQuery
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.
-
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. Utilizza il modulo seguente:
bq://bqprojectId.bqDatasetId
Se specifichi solo l'ID progetto, Vertex AI crea automaticamente un nuovo set di dati di output. Usa il modulo seguente:bq://bqprojectId
- GENERATE_EXPLANATION: il valore predefinito è false. Impostalo su true per attivare le attribuzioni delle caratteristiche. Per scoprire di più, consulta Attribuzioni delle funzionalità per le previsioni.
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": "projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID", "inputConfig": { "instancesFormat": "bigquery", "bigquerySource": { "inputUri": "INPUT_URI" } }, "outputConfig": { "predictionsFormat": "bigquery", "bigqueryDestination": { "outputUri": "OUTPUT_URI" } }, "generate_explanation": 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 }, "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.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.
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
- GENERATE_EXPLANATION: 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. Per scoprire di più, consulta Attribuzioni delle funzionalità per le previsioni.
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": "projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID", "inputConfig": { "instancesFormat": "csv", "gcsSource": { "uris": [ URI1,... ] }, }, "outputConfig": { "predictionsFormat": "csv", "gcsDestination": { "outputUriPrefix": "OUTPUT_URI_PREFIX" } }, "generate_explanation": 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 } "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", }
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.
Recupera i risultati della previsione batch
Vertex AI invia l'output delle previsioni batch alla destinazione specificata, che può essere BigQuery o Cloud Storage.
L'output di Cloud Storage per le attribuzioni delle funzionalità al momento non è supportato.
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:
- Nella console Google Cloud, vai alla pagina Previsioni batch di Vertex AI.
- Seleziona la previsione che hai creato.
-
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). Ad esempio, se l'input includeva 14 voci null per la colonna di destinazione (ad esempio le vendite per i 14 giorni successivi), la richiesta di previsione restituisce 14 righe, ovvero il numero di vendite per ciascun giorno. Se la richiesta di previsione supera l'orizzonte di previsione del modello, Vertex AI restituisce solo previsioni fino all'orizzonte di previsione.
-
Tabella di convalida degli errori
Questa tabella contiene una riga per ogni errore non critico riscontrato durante la fase di aggregazione che si verifica prima della 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 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 la tabella delle previsioni:
-
Nella console, vai alla pagina BigQuery.
Vai a BigQuery -
Esegui la query seguente:
SELECT * FROM BQ_DATASET_NAME.BQ_PREDICTIONS_TABLE_NAME
Vertex AI archivia le previsioni nella colonna predicted_TARGET_COLUMN_NAME.value
.
Se hai addestrato un modello con il trasformatore di fusione temporale (TFT), puoi trovare l'output dell'interpretabilità TFT nella colonna predicted_TARGET_COLUMN_NAME.tft_feature_importance
.
Questa colonna è ulteriormente suddivisa:
context_columns
: funzionalità di previsione i cui valori della finestra di contesto fungono da input per il codificatore TFT Long Short-Term Memory (LSTM).context_weights
: la ponderazione dell'importanza delle caratteristiche è associata a ogni elementocontext_columns
per l'istanza prevista.horizon_columns
: le funzionalità di previsione i cui valori dell'orizzonte di previsione fungono da input per il decodificatore LSTM (Long Short-Term Memory) TFT.horizon_weights
: la ponderazione dell'importanza delle caratteristiche è associata a ogni elementohorizon_columns
per l'istanza prevista.attribute_columns
: funzionalità di previsione che sono invarianti nel tempo.attribute_weights
: i pesi associati a ciascuno deiattribute_columns
.
Se il tuo modello è
ottimizzato per la perdita di quantili e il tuo set di quantili include la mediana, predicted_TARGET_COLUMN_NAME.value
è il valore di previsione alla mediana. In caso contrario, predicted_TARGET_COLUMN_NAME.value
è il
valore di previsione al quantile più basso nel set. Ad esempio, se il tuo insieme di quantili è [0.1, 0.5, 0.9]
, value
è la previsione per il quantile 0.5
.
Se il tuo insieme di quantili è [0.1, 0.9]
, value
è la previsione per il quantile 0.1
.
Inoltre, Vertex AI archivia i valori e le previsioni dei quantili nelle seguenti colonne:
-
predicted_TARGET_COLUMN_NAME.quantile_values
: i valori dei quantili, che vengono impostati durante l'addestramento del modello. Ad esempio, possono essere0.1
,0.5
e0.9
. -
predicted_TARGET_COLUMN_NAME.quantile_predictions
: i valori di previsione associati ai valori dei quantili.
Se il modello utilizza l'inferenza probabilistica, predicted_TARGET_COLUMN_NAME.value
contiene il valore minimo dell'obiettivo di ottimizzazione. Ad esempio, se il tuo obiettivo di ottimizzazione è minimize-rmse
,
predicted_TARGET_COLUMN_NAME.value
contiene il valore medio. Se è minimize-mae
, predicted_TARGET_COLUMN_NAME.value
contiene il valore mediano.
Se il modello utilizza l'inferenza probabilistica con i quantili, Vertex AI archivia i valori e le previsioni dei quantili nelle seguenti colonne:
-
predicted_TARGET_COLUMN_NAME.quantile_values
: i valori dei quantili, che vengono impostati durante l'addestramento del modello. Ad esempio, possono essere0.1
,0.5
e0.9
. -
predicted_TARGET_COLUMN_NAME.quantile_predictions
: i valori di previsione associati ai valori dei quantili.
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
Per scoprire di più, consulta Attribuzioni delle funzionalità per le previsioni.
Tabella di convalida degli errori
Il nome della tabella (BQ_ERRORS_VALIDATION_TABLE_NAME)
è formato dall'aggiunta di "errors_validation" con il timestamp dell'inizio
del job di previsione batch: errors_validation_TIMESTAMP
-
Nella console, vai alla pagina BigQuery.
Vai a BigQuery -
Esegui la query seguente:
SELECT * FROM BQ_DATASET_NAME.BQ_ERRORS_VALIDATION_TABLE_NAME
- errors_TARGET_COLUMN_NAME
Tabella degli errori
Il nome della tabella (BQ_ERRORS_TABLE_NAME) viene formato aggiungendo "errors_" con il timestamp dell'inizio del job di previsione batch: errors_TIMESTAMP
-
Nella console, vai alla pagina BigQuery.
Vai a BigQuery -
Esegui la query seguente:
SELECT * FROM BQ_DATASET_NAME.BQ_ERRORS_TABLE_NAME
- 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. Il numero di valori di previsione dipende dall'input e dall'orizzonte di previsione. Ad esempio, se l'input includeva 14 voci null per la colonna di destinazione (ad esempio le vendite per i 14 giorni successivi), la richiesta di previsione restituisce 14 righe, ovvero il numero di vendite per ciascun giorno. Se la richiesta di previsione supera l'orizzonte di previsione del modello, Vertex AI restituisce solo previsioni fino all'orizzonte di previsione.
I valori di previsione vengono restituiti in una colonna denominata "predicted_TARGET_COLUMN_NAME". Per le previsioni relative ai quantili, la colonna di output contiene le previsioni e i valori dei quantili in formato JSON.
-
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 funzionalità non nullo era null).
Nota: se i risultati sono di grandi dimensioni, viene suddiviso in più oggetti.
Esempi di query di attribuzione delle caratteristiche in BigQuery
Esempio 1: determinare le attribuzioni per una singola previsione
Considera la seguente domanda:
In che misura la pubblicità per un prodotto ha aumentato le vendite previste il 24 novembre in un determinato negozio?
La query corrispondente è la seguente:
SELECT * EXCEPT(explanation, predicted_sales), ROUND(predicted_sales.value, 2) AS predicted_sales, ROUND( explanation.attributions[OFFSET(0)].featureAttributions.advertisement, 2 ) AS attribution_advertisement FROM `project.dataset.predictions` WHERE product = 'product_0' AND store = 'store_0' AND date = '2019-11-24'
Esempio 2: determinare l'importanza delle caratteristiche a livello globale
Considera la seguente domanda:
In che misura ogni funzionalità ha contribuito alle vendite previste complessive?
Puoi calcolare manualmente l'importanza delle caratteristiche globali aggregando le attribuzioni dell'importanza delle caratteristiche locali. La query corrispondente è la seguente:
WITH
/*
* Aggregate from (id, date) level attributions to global feature importance.
*/
attributions_aggregated AS (
SELECT
SUM(ABS(attributions.featureAttributions.date)) AS date,
SUM(ABS(attributions.featureAttributions.advertisement)) AS advertisement,
SUM(ABS(attributions.featureAttributions.holiday)) AS holiday,
SUM(ABS(attributions.featureAttributions.sales)) AS sales,
SUM(ABS(attributions.featureAttributions.store)) AS store,
SUM(ABS(attributions.featureAttributions.product)) AS product,
FROM
project.dataset.predictions,
UNNEST(explanation.attributions) AS attributions
),
/*
* Calculate the normalization constant for global feature importance.
*/
attributions_aggregated_with_total AS (
SELECT
*,
date + advertisement + holiday + sales + store + product AS total
FROM
attributions_aggregated
)
/*
* Calculate the normalized global feature importance.
*/
SELECT
ROUND(date / total, 2) AS date,
ROUND(advertisement / total, 2) AS advertisement,
ROUND(holiday / total, 2) AS holiday,
ROUND(sales / total, 2) AS sales,
ROUND(store / total, 2) AS store,
ROUND(product / total, 2) AS product,
FROM
attributions_aggregated_with_total
Esempio di output della previsione batch in BigQuery
In un set di dati di esempio sulle vendite di liquori, ci sono quattro negozi nella città di
"Ida Grove": "Ida Grove Food Pride", "Discount Liquors of Ida Grove",
"Casey's General Store #3757" e "Brew Ida Grove". store_name
è series identifier
e tre dei quattro negozi richiedono previsioni per la colonna di destinazione sale_dollars
. È stato generato un errore di convalida perché non è stata richiesta alcuna previsione per "Discount Liquors of Ida Grove".
Di seguito è riportato un estratto del set di dati di input utilizzato per la previsione:
Di seguito è riportato un estratto dei risultati della previsione:
Di seguito è riportato un estratto degli errori di convalida:
Esempio di output di previsione batch per un modello ottimizzato per la perdita di quantili
L'esempio seguente è l'output della previsione batch per un modello ottimizzato per la perdita di quantili. In questo scenario, il modello di previsione ha previsto le vendite per i 14 giorni successivi per ciascun negozio.
I valori dei quantili sono riportati nella colonna predicted_Sales.quantile_values
. In questo esempio, il modello ha previsto valori ai quantili 0.1
, 0.5
e 0.9
.
I valori della previsione sono riportati nella colonna predicted_Sales.quantile_predictions
.
Questo è un array di valori di vendita mappati ai valori di quantile nella
colonna predicted_Sales.quantile_values
. Nella prima riga, vediamo che la probabilità
che il valore delle vendite sia inferiore a 4484.04
è 10%. La probabilità che il valore delle vendite sia inferiore a 5615.64
è 50%. La probabilità che il valore delle vendite sia inferiore a
6853.29
è 90%. La previsione per la prima riga, rappresentata come un singolo valore, è
5615.64
.