Panoramica della valutazione dei modelli BigQuery ML

Questo documento descrive in che modo BigQuery ML supporta la valutazione dei modelli di machine learning (ML).

Panoramica della valutazione del modello

Puoi utilizzare le metriche di valutazione del modello ML per i seguenti scopi:

  • Valutare la qualità dell'adattamento tra il modello e i dati.
  • Per confrontare modelli diversi.
  • Per prevedere con quale precisione puoi aspettarti che ogni modello funzioni su un set di dati specifico, nel contesto della selezione del modello.

Le valutazioni dei modelli di apprendimento supervisionato e non supervisionato funzionano in modo diverso:

  • Per i modelli di apprendimento supervisionato, la valutazione del modello è ben definita. Un set di valutazione, ovvero dati che non sono stati analizzati dal modello, viene solitamente escluso dal set di addestramento e poi utilizzato per valutare le prestazioni del modello. Ti consigliamo di non utilizzare il set di addestramento per la valutazione perché il modello ha un rendimento scadente quando generalizza i risultati di previsione per i nuovi dati. Questo risultato è noto come overfitting.
  • Per i modelli di apprendimento non supervisionato, la valutazione del modello è meno definita in genere varia da modello a modello. Poiché i modelli di apprendimento non supervisionato non prevedono un set di valutazione, le metriche di valutazione vengono calcolate utilizzando l'intero set di dati di input.

Per informazioni sugli statement e sulle funzioni SQL supportati per ogni tipo di modello, consulta Percorso utente end-to-end per ogni modello.

Offerte di valutazione del modello

BigQuery ML fornisce le seguenti funzioni per calcolare le metriche di valutazione per i modelli di ML:

Categoria di modello Tipi di modello Funzioni di valutazione del modello A cosa serve la funzione
Apprendimento supervisionato Regressione lineare

Regressore ad alberi con boosting

Regressore di foreste casuali

Regressore DNN

Regressore wide and deep

Regressore AutoML Tables
ML.EVALUATE Registra le seguenti metriche:
  • errore assoluto medio
  • errore quadratico medio
  • errore logaritmico quadratico medio
  • errore medio assoluto
  • punteggio r2
  • varianza spiegata
Regresione logistica

Classificatore ad alberi con boosting

Classificatore foresta casuale

Classificatore DNN

Classificatore ampio e profondo

Classificatore AutoML Tables
ML.EVALUATE Registra le seguenti metriche:
  • precisione
  • recall
  • accuracy
  • Punteggio F1
  • perdita logaritmica
  • roc auc
ML.CONFUSION_MATRIX Segnala la matrice di confusione.
ML.ROC_CURVE Registra le metriche per diversi valori di soglia, tra cui:
  • recall
  • tasso di falsi positivi
  • veri positivi
  • falsi positivi
  • veri negativi
  • falsi negativi

Si applica solo ai modelli di classificazione binaria.
Apprendimento non supervisionato K-means ML.EVALUATE Mostra l'indice di Davies-Bouldin e la distanza quadratica media tra i punti dati e i centroidi dei cluster assegnati.
Fattoreizzazione matriciale ML.EVALUATE Per i modelli basati su feedback espliciti, vengono registrate le seguenti metriche:
  • errore assoluto medio
  • errore quadratico medio
  • errore logaritmico quadratico medio
  • errore medio assoluto
  • punteggio r2
  • varianza spiegata
Per i modelli basati su feedback implicito, vengono registrate le seguenti metriche:
PCA ML.EVALUATE Indica il rapporto della varianza spiegata totale.
Autoencoder ML.EVALUATE Genera i seguenti report:
  • errore assoluto medio
  • errore quadratico medio
  • errore logaritmico quadratico medio
Serie temporale ARIMA_PLUS ML.EVALUATE Registra le seguenti metriche:
  • errore assoluto medio
  • errore quadratico medio
  • errore percentuale assoluto medio
  • errore percentuale assoluto medio simmetrico

Questa funzione richiede nuovi dati come input.
ML.ARIMA_EVALUATE Segnala le seguenti metriche per tutti i modelli candidati ad ARIMA caratterizzate da diverse tuple (p, d, q, has_drift):

Inoltre, riporta altre informazioni su stagionalità, effetti delle festività e valori anomali con picchi e cali.

Questa funzione non richiede nuovi dati come input.

Valutazione automatica nelle istruzioni CREATE MODEL

BigQuery ML supporta la valutazione automatica durante la creazione del modello. A seconda del tipo di modello, delle opzioni di addestramento con suddivisione dei dati e dell'utilizzo dell'ottimizzazione degli iperparametri, le metriche di valutazione vengono calcolate in base al set di dati di valutazione riservato, al set di dati di test riservato o all'intero set di dati di input.

  • Per i modelli k-means, PCA, autoencoder e ARIMA_PLUS, BigQuery ML utilizza tutti i dati di input come dati di addestramento e le metriche di valutazione vengono calcolate rispetto all'intero set di dati di input.

  • Per i modelli di regressione lineare e logistica, albero con boosting, foresta casuale, DNN, Wide and Deep e fattorizzazione della matrice, le metriche di valutazione vengono calcolate in base al set di dati specificato dalle seguenti opzioni CREATE MODEL:

    Quando addestri questi tipi di modelli utilizzando l'ottimizzazione degli iperparametri, l'opzione DATA_SPLIT_TEST_FRACTION è utile anche per definire il set di dati in base al quale vengono calcolate le metriche di valutazione. Per maggiori informazioni, consulta la sezione Suddivisione dei dati.

  • Per i modelli AutoML Tables, consulta come vengono utilizzate le suddivisioni dei dati per l'addestramento e la valutazione.

Per ottenere le metriche di valutazione calcolate durante la creazione del modello, utilizza le funzioni di valutazione come ML.EVALUATE sul modello senza specificare dati di input. Per un esempio, consulta ML.EVALUATE senza dati di input specificati.

Valutazione con un nuovo set di dati

Dopo la creazione del modello, puoi specificare nuovi set di dati per la valutazione. Per fornire un nuovo set di dati, utilizza funzioni di valutazione come ML.EVALUATE sul modello con i dati di input specificati. Per un esempio, vedi ML.EVALUATE con una soglia personalizzata e dati di input.