ML.TRAINING_INFO-Funktion

ML.TRAINING_INFO-Funktion

Die ML.TRAINING_INFO-Funktion bietet die Möglichkeit, Informationen zu den Trainingsdurchläufen eines Modells abzurufen. ML.TRAINING_INFO kann während oder nach der CREATE MODEL-Abfrage ausgeführt werden. Wenn Sie eine Abfrage mit ML.TRAINING_INFO ausführen, bevor der erste Trainingsdurchlauf abgeschlossen ist, gibt die Abfrage den Fehler Not found zurück.

ML.TRAINING_INFO gibt die folgenden Spalten zurück:

  • training_run: Der Wert in dieser Spalte ist für ein neu erstelltes Modell null. Wenn Sie das Modell mit warm_start neu trainieren, wird dieser Wert erhöht.
  • iteration: Die Durchlaufnummer des Trainingslaufs. Der Wert für den ersten Durchlauf ist null. Dieser Wert erhöht sich nach jedem weiteren Trainingslauf.
  • loss: Der nach einem Durchlauf der Trainingsdaten berechnete Verlustwert. Der Begriff "Verlust" bedeutet bei der logistischen Regression einen logarithmischen Verlust. Bei linearen Regressionen bezeichnet Verlust einen mittleren quadratischen Fehler. Für mehrklassige logistische Regressionen ist loss der Kreuzentropieverlust. Bei expliziten Matrixfaktorisierungsmodellen ist der Verlust der mittlere quadratische Fehler, der aus den angezeigten Eingabebewertungen berechnet wird. Bei impliziten Matrixfaktorisierungsmodellen wird der Verlust mithilfe der folgenden Formel berechnet:

    \( Verlust = \sum_{u, i} c_{ui}(p_{ui} - x^T_uy_i)^2 + \lambda(\sum_u||x_u||^2 + \sum_i||y_i||^2) \)

    Weitere Informationen zur Bedeutung der Variablen finden Sie in diesem Artikel.

  • eval_loss: Verlustwert, der für Holdout-Daten berechnet wird. Bei k-Means-Modellen gibt ML.TRAINING_INFO keine eval_loss-Spalte zurück. Wenn für DATA_SPLIT_METHOD der Wert 'NO_SPLIT' gilt, haben alle Einträge in der Spalte eval_loss den Wert NULL.

  • learning_rate: Die Lernrate in diesem Durchlauf.

  • duration_ms: Die Dauer des Durchlaufs in Millisekunden.

  • cluster_info: Ein ARRAY von STRUCTs, die die Felder centroid_id, cluster_radius und cluster_size enthalten. ML.TRAINING_INFO berechnet cluster_radius und cluster_size mit standardisierten Features. Wird nur für k-Means-Modelle zurückgegeben.

ML.TRAINING_INFO-Berechtigungen

Für die Ausführung von ML.TRAINING_INFO ist sowohl bigquery.models.create als auch bigquery.models.getData erforderlich.

ML.TRAINING_INFO-Syntax

ML.TRAINING_INFO(MODEL `project_id.dataset.model`)

Dabei gilt:

  • project_id ist die Projekt-ID.
  • dataset ist das BigQuery-Dataset, das das Modell enthält.
  • model ist der Name des Modells.

ML.TRAINING_INFO-Beispiel

Im folgenden Beispiel werden Trainingsinformationen aus mymodel in mydataset abgerufen. Das Dataset befindet sich in Ihrem Standardprojekt.

SELECT
  *
FROM
  ML.TRAINING_INFO(MODEL `mydataset.mymodel`)

Einschränkungen für ML.TRAINING_INFO

Für die Funktion ML.TRAINING_INFO gelten die folgenden Einschränkungen: