Descripción general de la evaluación del modelo de BigQuery ML

En este documento, se describe cómo BigQuery ML admite la evaluación de modelos de aprendizaje automático (AA).

Descripción general de la evaluación de modelos

Puedes usar las métricas de evaluación de modelos de AA para los siguientes fines:

  • Para evaluar la calidad de la idoneidad entre el modelo y los datos.
  • Para comparar modelos diferentes
  • Para predecir la exactitud del rendimiento que se espera de cada modelo en un conjunto de datos específico, en el contexto de la selección de modelos.

Las evaluaciones de modelos de aprendizaje supervisado y no supervisado funcionan de manera diferente:

  • Para los modelos de aprendizaje supervisado, la evaluación de modelos está bien definida. Un conjunto de evaluación, que son datos que el modelo no analizó, se suele excluirse del conjunto de entrenamiento y, luego, usarse para evaluar el rendimiento del modelo. Te recomendamos que no uses el conjunto de entrenamiento para la evaluación, ya que esto hace que el modelo tenga un rendimiento deficiente cuando se generalizan los resultados de la predicción para datos nuevos. Este resultado se conoce como sobreajuste.
  • Para los modelos de aprendizaje no supervisados, la evaluación de modelos es menos definida y, por lo general, varía de un modelo a otro. Debido a que los modelos de aprendizaje no supervisados no reservan un conjunto de evaluación, las métricas de evaluación se calculan con todo el conjunto de datos de entrada.

A fin de obtener información sobre las instrucciones y funciones de SQL compatibles para cada tipo de modelo, consulta Recorrido del usuario de extremo a extremo para cada modelo.

Ofertas de evaluación de modelos

BigQuery ML proporciona las funciones siguientes para calcular las métricas de evaluación de los modelos de AA:

Categoría del modelo Tipos de modelos Funciones de evaluación del modelo Qué hace la función
Aprendizaje supervisado Regresión lineal

Regresor de árboles con boosting

Regresor de bosque aleatorio

Regresor de DNN

Regresor de algoritmo de amplitud y profundidad

Regresor de AutoML Tables
ML.EVALUATE Informa las siguientes métricas:
  • error absoluto medio
  • error cuadrático medio
  • error logarítmico cuadrático medio
  • mediana de error absoluto
  • puntuación r2
  • varianza explicada
Regresión logística

Clasificador de árboles con boosting

Clasificador de bosque aleatorio

Clasificador de DNN

Clasificador de algoritmo de amplitud y profundidad

Clasificador de AutoML Tables
ML.EVALUATE Informa las siguientes métricas:
  • precision
  • recall
  • accuracy
  • Puntuación F1
  • pérdida logística
  • AUC de la ROC
ML.CONFUSION_MATRIX Informa la matriz de confusión.
ML.ROC_CURVE Informa las métricas para diferentes valores de umbral, incluidos los siguientes:
  • recall
  • tasa de falsos positivos
  • verdaderos positivos
  • falsos positivos
  • verdaderos negativos
  • falsos negativos

Solo se aplica a los modelos de clasificación de clase binaria.
Aprendizaje no supervisado k-means ML.EVALUATE Informa el índice de Davies-Bouldin y la distancia cuadrada media entre los datos y los centroides de los clústeres asignados.
factorización de matrices ML.EVALUATE Para los modelos basados en comentarios explícitos, informa las siguientes métricas:
  • error absoluto medio
  • error cuadrático medio
  • error logarítmico cuadrático medio
  • mediana de error absoluto
  • puntuación r2
  • varianza explicada
Para los modelos basados en comentarios implícitos, se informan las siguientes métricas:
PCA ML.EVALUATE Informa la proporción total de varianza explicada.
Codificador automático ML.EVALUATE Informa las siguientes métricas:
  • error absoluto medio
  • error cuadrático medio
  • error logarítmico cuadrático medio
Series temporales ARIMA_PLUS ML.EVALUATE Informa las siguientes métricas:
  • error absoluto medio
  • error cuadrático medio
  • error porcentual absoluto medio
  • error porcentual absoluto medio simétrico

Esta función requiere datos nuevos como entrada.
ML.ARIMA_EVALUATE Informa las siguientes métricas para todos los modelos candidatos de ARIMA caracterizados por diferentes tuplas (p, d, q, has_drift):

También informa de otra información sobre la temporalidad, los efectos de días feriados y los valores atípicos de disminuciones y aumentos repentinos.

Esta función no requiere datos nuevos como entrada.

Evaluación automática en sentencias CREATE MODEL

BigQuery ML admite la evaluación automática durante la creación del modelo. Según el tipo de modelo, las opciones de entrenamiento de división de datos y si usas el ajuste de hiperparámetros, las métricas de evaluación se calculan en función del conjunto de datos de evaluación reservado, el conjunto de datos de prueba reservado o todo el conjunto de datos de entrada.

  • Para los modelos k-means, PCA, autocodificador y ARIMA_PLUS, BigQuery ML usa todos los datos de entrada como datos de entrenamiento, y las métricas de evaluación se calculan en todo el conjunto de datos de entrada.

  • Para los modelos de regresión lineal y logística, árboles con boosting, bosque aleatorio, DNN, algoritmo de amplitud y profundidad, y factorización de matrices, las métricas de evaluación se calculan en función del conjunto de datos que se especifica en las siguientes opciones de CREATE MODEL:

    Cuando entrenas estos tipos de modelos con el ajuste de hiperparámetros, la opción DATA_SPLIT_TEST_FRACTION también ayuda a definir el conjunto de datos con el que se calculan las métricas de evaluación. Si deseas obtener más información, consulta División de datos.

  • En el caso de los modelos de AutoML Tables, consulta cómo se usan las divisiones de datos para el entrenamiento y la evaluación.

Para obtener métricas de evaluación calculadas durante la creación del modelo, usa funciones de evaluación como ML.EVALUATE en el modelo sin datos de entrada especificados. Para ver un ejemplo, consulta ML.EVALUATE sin datos de entrada especificados.

Evaluación con un conjunto de datos nuevo

Después de crear el modelo, puedes especificar nuevos conjuntos de datos para su evaluación. Para proporcionar un conjunto de datos nuevo, usa funciones de evaluación como ML.EVALUATE en el modelo con los datos de entrada especificados. Para ver un ejemplo, consulta ML.EVALUATE con un umbral personalizado y datos de entrada.