BigQuery ML-Modellbewertung – Übersicht
In diesem Dokument wird beschrieben, wie BigQuery ML die Modellbewertung für maschinelles Lernen (ML) unterstützt.
Übersicht über die Modellbewertung
Sie können ML-Modellbewertungsmesswerte für folgende Zwecke verwenden:
- Bewerten der Qualität der passung zwischen dem Modell und den Daten
- Vergleichen verschiedener 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 Verallgemeinerung der Vorhersageergebnisse für neue Daten eine schlechte Leistung erbringt. 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.
Angebote zur Modellbewertung
BigQuery ML bietet die folgenden Funktionen zum Berechnen von Bewertungsmesswerten für ML-Modelle:
| 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 zurück:
|
| Logistische Regression Boosted Trees-Klassifikator Random Forest-Klassifikator DNN-Klassifikator Wide and Deep-Klassifikator AutoML Tables-Klassifikator |
ML.EVALUATE |
Gibt die folgenden Messwerte zurück:
|
|
ML.CONFUSION_MATRIX |
Gibt die Wahrheitsmatrix an. | ||
ML.ROC_CURVE |
Gibt Messwerte für verschiedene Schwellenwerte zurück, einschließlich der folgenden:
Gilt nur für binäre Klassifizierungsmodelle. |
||
| 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:
|
|
Bei Modellen, die auf implizitem Feedback basieren, werden die folgenden Messwerte gemeldet:
|
|||
| PCA | ML.EVALUATE |
Gibt das erklärte Gesamtvarianzverhältnis an. | |
| Autoencoder | ML.EVALUATE |
Gibt die folgenden Messwerte zurück:
|
|
| Zeitreihe | ARIMA_PLUS | ML.EVALUATE
| Gibt die folgenden Messwerte zurück:
Diese Funktion erfordert neue Daten als Eingabe. |
ML.ARIMA_EVALUATE
| Gibt die folgenden Messwerte für alle ARIMA-Kandidatenmodelle zurück,
die durch verschiedene Tupel (p, d, q, has_drift) charakterisiert 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 werden alle Eingabedaten als Trainingsdaten verwendet und die Bewertungsmesswerte werden anhand des gesamten Eingabe-Datasets 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 Arten von Modellen mit Hyperparameter-Feinabstimmung trainieren, hilft die Option
DATA_SPLIT_TEST_FRACTIONauch bei der Definition des Datasets, mit dem die Bewertungsmesswerte berechnet werden. Weitere Informationen finden Sie unter Datenaufteilung.Informationen zu AutoML Tables-Modellen finden Sie unter Datenaufteilungen für AutoML-Modelle.
Wenn Sie Bewertungsmesswerte abrufen möchten, die während der Modellerstellung berechnet wurden, verwenden Sie Bewertungsfunktionen wie ML.EVALUATE für das Modell, ohne dass Eingabedaten angegeben sind.
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 spezifizierten Eingabedaten. Ein Beispiel finden Sie unter
ML.EVALUATE mit einem benutzerdefinierten Schwellenwert und Eingabedaten.
Ergebnisse eines beliebigen Regressions- oder Klassifizierungsmodells bewerten
Mit der Funktion
ML.METRICS
können Sie Bewertungsmesswerte für ML
Klassifizierungs- oder Regressionsaufgaben für jede Tabelle oder Abfrage berechnen, die
tatsächliche und vorhergesagte Werte enthält. Mit dieser Funktion können Sie Vorhersagen bewerten, ohne ein gespeichertes Modell erstellen oder darauf verweisen zu müssen.
Nächste Schritte
Weitere Informationen zu unterstützten SQL-Anweisungen und -Funktionen für Modelle, die die Bewertung unterstützen, finden Sie in den folgenden Dokumenten: