Función ML.TRAINING_INFO

Función ML.TRAINING_INFO

La función ML.TRAINING_INFO te permite ver información sobre las iteraciones de entrenamiento de un modelo. ML.TRAINING_INFO se puede ejecutar mientras se ejecuta la consulta CREATE MODEL o después de ejecutarse. Si ejecutas una consulta que contiene ML.TRAINING_INFO antes de que se complete la primera iteración de entrenamiento, la consulta muestra un error Not found.

ML.TRAINING_INFO muestra las siguientes columnas:

  • training_run: el valor en esta columna es cero para un modelo recién creado. Si vuelves a entrenar el modelo con warm_start, este valor se incrementa.
  • iteration: es el número de iteración de la ejecución de entrenamiento. El valor para la primera iteración es cero. Este valor se incrementa para cada ejecución de entrenamiento adicional.
  • loss: es la métrica de pérdida calculada después de una iteración en los datos de entrenamiento. La pérdida es la pérdida de registro para una regresión logística y el error cuadrático medio para una regresión lineal. loss es la pérdida de registro de entropía cruzada para regresiones logísticas multiclase. En los modelos de factorización de matrices explícita, la pérdida es un error cuadrático medio calculado sobre las calificaciones de las entrada detectadas. En los modelos de factorización de matrices implícita, la pérdida se calcula mediante la siguiente fórmula:

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

    Puedes encontrar más información sobre el significado de las variables aquí.

  • eval_loss: Es la métrica de pérdida calculada en los datos de exclusión. ML.TRAINING_INFO no muestra una columna eval_loss para los modelos k-means. Si DATA_SPLIT_METHOD es 'NO_SPLIT', todas las entradas de la columna eval_loss son NULL.

  • learning_rate: es la tasa de aprendizaje en esta iteración.

  • duration_ms: indica cuánto tiempo llevó la iteración, en milésimas de segundo.

  • cluster_info: es un ARREGLO de STRUCT que contiene los campos centroid_id, cluster_radius y cluster_size. ML.TRAINING_INFO calcula cluster_radius y cluster_size con atributos estandarizados. Solo se muestra para modelos k-means.

Permisos para ML.TRAINING_INFO

Para ejecutar ML.TRAINING_INFO, se requieren bigquery.models.create y bigquery.models.getData.

Sintaxis de ML.TRAINING_INFO

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

Donde:

  • project_id es el ID del proyecto.
  • dataset es el conjunto de datos de BigQuery que contiene el modelo.
  • model es el nombre del modelo.

Ejemplo de ML.TRAINING_INFO

El siguiente ejemplo recupera información de entrenamiento de mymodel en mydataset. El conjunto de datos se encuentra en tu proyecto predeterminado.

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

Limitaciones de ML.TRAINING_INFO

La función ML.TRAINING_INFO está sujeta a las siguientes limitaciones: