BigQuery ML-Modellbewertung – Übersicht

In diesem Dokument wird beschrieben, wie BigQuery ML ML-Modellbewertungen unterstützt.

Modellbewertung – Übersicht

Sie können ML-Modellbewertungsmesswerte für folgende Zwecke verwenden:

  • Bewerten der Qualität der passung zwischen dem Modell und den Daten
  • So vergleichen Sie verschiedene Modelle.
  • Um vorherzusagen, wie akkurat Sie erwarten können, das jedes Modell für ein bestimmtes Dataset performt, im Kontext der modellauswahl.

Die Bewertung von Modellen für überwachtes und unüberwachtes Lernen funktioniert anders.

  • Bei überwachten Lernmodellen ist die Modellbewertung gut definiert. Ein Bewertungs-Dataset, bei dem es sich um Daten handelt, die nicht vom Modell analysiert wurden, wird normalerweise aus dem Trainings-Dataset ausgeschlossen und dann zur Bewertung der Modellleistung verwendet. Wir empfehlen, das Trainings-Dataset nicht für die Bewertung zu verwenden, da dies dazu führt, dass das Modell bei der Generalisierung der Vorhersageergebnisse für neue Daten eine schlechte Leistung erzielt. Dieses Ergebnis wird als Überanpassung bezeichnet.
  • Bei nicht überwachten Lernmodellen ist die Modellbewertung weniger definiert und variiert in der Regel von Modell zu Modell. Da unüberwachte Lernmodelle kein Bewertungs-Dataset reservieren, werden die Bewertungsmesswerte mit dem gesamten Eingabe-Dataset berechnet.

Informationen zu den unterstützten SQL-Anweisungen und -Funktionen für die einzelnen Modelltypen erhalten Sie unter End-to-End-Nutzerpfad für jedes Modell.

Modellbewertungsangebote

BigQuery ML bietet die folgenden Funktionen, um Bewertungsmesswerte für ML-Modelle zu berechnen:

Modellkategorie Modelltypen Modellbewertungsfunktionen Was die Funktion tut
Beaufsichtigtes Lernen Lineare Regression

Boosted Trees-Regressor

Random Forest-Regressor

DNN-Regressor

Wide and Deep-Regressor

AutoML Tables-Regressor
ML.EVALUATE Gibt die folgenden Messwerte aus:
  • Mittlerer absoluter Fehler
  • Mittlere quadratische Abweichung
  • Quadratischer Mittelwert des logarithmischen Fehlers
  • Medianwert des absoluten Fehlers
  • r2-Wert
  • erklärte Varianz
Logistische Regression

Boosted Trees-Klassifikator

Random Forest-Klassifikator

DNN-Klassifikator

Wide and Deep-Klassifikator

AutoML Tables-Klassifikator
ML.EVALUATE Gibt die folgenden Messwerte aus:
  • Precision
  • Recall
  • Genauigkeit
  • F1-Wert
  • Logarithmischer Verlust
  • ROC AUC
ML.CONFUSION_MATRIX Gibt die Wahrheitsmatrix an.
ML.ROC_CURVE Meldet Messwerte für verschiedene Grenzwerte, einschließlich:
  • Recall
  • Rate falsch positiver Ergebnisse
  • Richtig positive Ergebnisse
  • Falsch positive Ergebnisse
  • Richtig negative Ergebnisse
  • Falsch negative Ergebnisse

Gilt nur für Klassifizierungsmodelle der Binärklasse.
Unbeaufsichtigtes Lernen K-means ML.EVALUATE Gibt den Davies-Bouldin-Index und die mittlere quadratische Entfernung zwischen Datenpunkten und die Schwerpunkte der zugewiesenen Cluster an.
Matrixfaktorisierung ML.EVALUATE Bei expliziten Feedback-basierten Modellen werden die folgenden Messwerte gemeldet:
  • Mittlerer absoluter Fehler
  • Mittlere quadratische Abweichung
  • Quadratischer Mittelwert des logarithmischen Fehlers
  • Medianwert des absoluten Fehlers
  • r2-Wert
  • erklärte Varianz
Für implizites Feedback-basierte Modelle werden die folgenden Messwerte gemeldet:
PCA ML.EVALUATE Gibt das erklärte Gesamtvarianzverhältnis an.
Autoencoder ML.EVALUATE Gibt die folgenden Messwerte aus:
  • Mittlerer absoluter Fehler
  • Mittlere quadratische Abweichung
  • Quadratischer Mittelwert des logarithmischen Fehlers
Zeitreihe ARIMA_PLUS ML.EVALUATE Gibt die folgenden Messwerte aus:
  • Mittlerer absoluter Fehler
  • Mittlere quadratische Abweichung
  • Mittlerer absoluter prozentualer Fehler
  • Symmetrischer mittlerer absoluter prozentualer Fehler

Diese Funktion erfordert neue Daten als Eingabe.
ML.ARIMA_EVALUATE Gibt die folgenden Messwerte für alle ARIMA-Kandidatenmodelle an, die durch verschiedene Tupel (p, d, q, has_drift) gekennzeichnet sind:

Außerdem werden andere Informationen zu Saisonabhängigkeit, Feiertagseffekten und Spitzen und Einbrüche-Ausreißer angegeben.

Für diese Funktion sind keine neuen Daten erforderlich als Eingabe.

Automatische Bewertung in CREATE MODEL-Anweisungen

BigQuery ML unterstützt die automatische Bewertung während der Modellerstellung. Abhängig von dem Modelltyp, den Datenaufteilung-Trainingsoptionen und davon, ob Sie Hyperparameter-Feinabstimmung verwenden, werden die Bewertungsmesswerte für das reservierte Bewertungs-Dataset, das reservierte Test-Dataset oder für das gesamte Eingabe-Dataset berechnet.

  • Bei k-Means-, PCA-, Autoencoder- und ARIMA_PLUS-Modellen verwendet BigQuery ML alle Eingabedaten als Trainingsdaten. Die Bewertungsmesswerte werden für das gesamte Eingabe-Dataset berechnet.

  • Bei linearen und logistischen Regressions-, Boosted Tree-, Random Forest-, DNN-, Wide-and-Deep- und Matrixfaktorisierungsmodellen werden Bewertungsmesswerte anhand des Datasets berechnet, das durch folgende CREATE MODEL-Optionen angegeben wird:

    Wenn Sie diese Modelltypen mit Hyperparameter-Abstimmung trainieren, hilft die Option DATA_SPLIT_TEST_FRACTION auch dabei, das Dataset zu definieren, anhand dessen die Bewertungsmesswerte berechnet werden. Weitere Informationen finden Sie unter Datenaufteilung.

  • Informationen zu AutoML Tables-Modellen finden Sie unter Verwendung von Datenaufteilungen für Training und Bewertung.

Zum Abrufen von Bewertungsmesswerten, die während der Modellerstellung berechnet werden, verwenden Sie Bewertungsfunktionen wie ML.EVALUATE für das Modell, ohne dass Eingabedaten angegeben werden. Ein Beispiel finden Sie unter ML.EVALUATE ohne spezifizierte Eingabedaten.

Bewertung mit einem neuen Dataset

Nach der Modellerstellung können Sie neue Datasets für die Bewertung angeben. Wenn Sie ein neues Dataset bereitstellen möchten, verwenden Sie Bewertungsfunktionen wie ML.EVALUATE für das Modell mit angegebenen Eingabedaten. Ein Beispiel finden Sie unter ML.EVALUATE mit einem benutzerdefinierten Schwellenwert und Eingabedaten.