Panoramica della valutazione dei modelli BigQuery ML

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

Panoramica della valutazione del modello

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

  • Per valutare la qualità dell'adattamento tra il modello e i dati.
  • Per confrontare modelli diversi.
  • Per prevedere con quanta precisione puoi aspettarti l'esecuzione di ogni modello 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, in genere viene escluso dal set di addestramento e quindi utilizzato per valutare le prestazioni del modello. Ti consigliamo di non utilizzare il set di addestramento per la valutazione, perché ciò causa scarse prestazioni del modello quando generalizzi i risultati della previsione per i nuovi dati. Questo risultato è noto come overfitting.
  • Per i modelli di apprendimento non supervisionato, la valutazione è meno definita e solitamente varia da modello a modello. Poiché i modelli di apprendimento non supervisionato non prenotano un set di valutazione, le metriche di valutazione vengono calcolate utilizzando l'intero set di dati di input.

Per informazioni sulle istruzioni e sulle funzioni SQL supportate per ogni tipo di modello, consulta Percorso dell'utente end-to-end per ogni modello.

Offerte di valutazione dei modelli

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

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

Regressore degli alberi potenziati

Regressore casuale delle foreste

Regressore DNN

Regressore ampio e profondo

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

Classificazione degli alberi potenziati

Classificatore casuale delle foreste

Classificatore DNN

Classificatore Wide-and-Deep

Classificatore AutoML Tables
ML.EVALUATE Riporta le seguenti metriche:
  • precisione
  • recall
  • accuratezza
  • Punteggio F1
  • perdita di log
  • auc roc
ML.CONFUSION_MATRIX Segnala la matrice di confusione.
ML.ROC_CURVE Genera report su metriche per diversi valori di soglia, tra cui:
  • recall
  • percentuale di falsi positivi
  • veri positivi
  • falsi positivi
  • veri negativi
  • falsi negativi

Si applica solo ai modelli di classificazione di classi binarie.
Apprendimento non supervisionato K-means ML.EVALUATE Indica l'indice di Davies-Bouldin e la distanza media al quadrato tra i punti dati e i centroidi dei cluster assegnati.
Fattorizzazione matriciale ML.EVALUATE Per i modelli basati su feedback esplicito, segnala 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, segnala le seguenti metriche:
APC ML.EVALUATE Indica il rapporto di varianza totale spiegato.
Codificatore automatico ML.EVALUATE Riporta le seguenti metriche:
  • errore assoluto medio
  • errore quadratico medio
  • errore logaritmico quadratico medio
Serie temporale ARIMA_PLUS ML.EVALUATE Riporta le seguenti metriche:
  • errore assoluto medio
  • errore quadratico medio
  • errore percentuale assoluto medio
  • errore percentuale assoluto simmetrico medio

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

Segnala anche altre informazioni sulla stagionalità, sugli effetti durante le festività e sui picchi e le cali.

Questa funzione non richiede nuovi dati come input.

Valutazione automatica nelle istruzioni CREATE MODEL

BigQuery ML supporta la valutazione automatica durante la creazione dei modelli. A seconda del tipo di modello, delle opzioni di addestramento della suddivisione dei dati e dell'uso o meno dell'ottimizzazione degli iperparametri, le metriche di valutazione vengono calcolate sul set di dati di valutazione riservato, sul set di dati di test riservato o sull'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 sull'intero set di dati di input.

  • Per i modelli di regressione lineare e logistica, ad albero potenziato, a foresta casuale, DNN, a fattorizzazione "wide-and-deep" e alla fattorizzazione matriciale, le metriche di valutazione vengono calcolate in base al set di dati specificato dalle seguenti opzioni CREATE MODEL:

    Quando addestra questi tipi di modelli utilizzando l'ottimizzazione degli iperparametri, l'opzione DATA_SPLIT_TEST_FRACTION aiuta anche a definire il set di dati in base al quale vengono calcolate le metriche di valutazione. Per ulteriori informazioni, consulta Suddivisione dati.

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

Per calcolare le metriche di valutazione durante la creazione del modello, utilizza funzioni di valutazione come ML.EVALUATE sul modello senza dati di input specificati. 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 nel modello con i dati di input specificati. Per un esempio, consulta ML.EVALUATE con una soglia personalizzata e dati di input.