En esta página se explica cómo evaluar los modelos de clasificación y regresión de AutoML.
Vertex AI proporciona métricas de evaluación de modelos para ayudarte a determinar el rendimiento de tus modelos, como las métricas de precisión y recuperación. Vertex AI calcula las métricas de evaluación mediante el conjunto de prueba.
Antes de empezar
Antes de evaluar el modelo, entrénalo.
Cómo usar las métricas de evaluación de modelos
Las métricas de evaluación de modelos proporcionan mediciones cuantitativas del rendimiento de tu modelo en el conjunto de pruebas. La forma en que interpretes y uses esas métricas dependerá de las necesidades de tu empresa y del problema para el que se haya entrenado tu modelo. Por ejemplo, puede que toleres menos los falsos positivos que los falsos negativos o al revés. Este tipo de preguntas influyen en las métricas en las que te centras.
Obtener métricas de evaluación
Puede obtener un conjunto agregado de métricas de evaluación de su modelo y, en algunos objetivos, métricas de evaluación de una clase o etiqueta concretas. Las métricas de evaluación de una clase o una etiqueta concretas también se conocen como porción de evaluación. En el siguiente contenido se describe cómo obtener métricas de evaluación agregadas y segmentos de evaluación mediante la Google Cloud consola o la API.
Google Cloud consola
En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
En el menú desplegable Región, selecciona la región en la que se encuentra tu modelo.
En la lista de modelos, haga clic en el que quiera. Se abrirá la pestaña Evaluar del modelo.
En la pestaña Evaluar, puedes ver las métricas de evaluación agregadas de tu modelo, como la precisión media y el recuerdo.
Si el objetivo del modelo tiene sectores de evaluación, la consola muestra una lista de etiquetas. Puede hacer clic en una etiqueta para ver las métricas de evaluación de esa etiqueta, como se muestra en el siguiente ejemplo:
API
Las solicitudes de la API para obtener métricas de evaluación son las mismas para cada tipo de datos y objetivo, pero las salidas son diferentes. En los siguientes ejemplos se muestra la misma solicitud, pero con diferentes respuestas.
Obtener métricas de evaluación de modelos agregadas
Las métricas de evaluación de modelos agregadas proporcionan información sobre el modelo en su conjunto. Para ver información sobre un segmento específico, consulta la lista de segmentos de evaluación de un modelo.
Para ver las métricas de evaluación agregadas del modelo, usa el método projects.locations.models.evaluations.get
.
Seleccione la pestaña correspondiente a su objetivo:
Clasificación
Vertex AI devuelve una matriz de métricas de confianza. Cada elemento muestra métricas de evaluación con un valor de confidenceThreshold
diferente (de 0 a 1). Si consultas diferentes valores de umbral, puedes ver cómo afecta el umbral a otras métricas, como la precisión y la recuperación.
Selecciona la pestaña correspondiente a tu idioma o entorno:
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se almacena el modelo.
- PROJECT: tu ID de proyecto.
- MODEL_ID: ID del recurso de modelo.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
- EVALUATION_ID: ID de la evaluación del modelo (aparece en la respuesta).
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Regresión
Selecciona la pestaña correspondiente a tu idioma o entorno:
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se almacena el modelo.
- PROJECT: .
- MODEL_ID: ID del recurso de modelo.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
- EVALUATION_ID: ID de la evaluación del modelo (aparece en la respuesta).
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Mostrar todos los segmentos de evaluación (solo modelos de clasificación)
El método
projects.locations.models.evaluations.slices.list
muestra todos los sectores de evaluación de tu modelo. Debes tener el ID de evaluación del modelo, que puedes obtener cuando consultes las métricas de evaluación agregadas.
Puedes usar los segmentos de evaluación de modelos para determinar el rendimiento del modelo en una etiqueta específica. El campo value
indica a qué etiqueta corresponden las métricas.
Vertex AI devuelve una matriz de métricas de confianza. Cada elemento muestra métricas de evaluación con un valor de confidenceThreshold
diferente (de 0 a 1). Si consultas diferentes valores de umbral, puedes ver cómo afecta el umbral a otras métricas, como la precisión y la recuperación.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se encuentra el modelo. Por ejemplo,
us-central1
. - PROJECT: .
- MODEL_ID: el ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene los segmentos de evaluación que se van a mostrar.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Obtener métricas de un solo segmento
Para ver las métricas de evaluación de una sola porción, usa el método projects.locations.models.evaluations.slices.get
. Debes tener el ID del segmento, que se proporciona cuando muestras todos los segmentos. El siguiente ejemplo se aplica a todos los tipos de datos y objetivos.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se encuentra el modelo. Por ejemplo, us-central1.
- PROJECT: .
- MODEL_ID: el ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene el sector de evaluación que se va a obtener.
- SLICE_ID: ID de un segmento de evaluación que se va a obtener.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: nombre de un archivo de esquema que define las métricas de evaluación que se van a devolver, como
classification_metrics_1.0.0
.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Métricas de evaluación de modelos
Vertex AI devuelve varias métricas de evaluación diferentes, como la precisión, la recuperación y los umbrales de confianza. Las métricas que devuelve Vertex AI dependen del objetivo de tu modelo. Por ejemplo, Vertex AI proporciona diferentes métricas de evaluación para un modelo de clasificación de imágenes que para un modelo de detección de objetos de imagen.
Un archivo de esquema determina qué métricas de evaluación proporciona Vertex AI para cada objetivo.
Puedes ver y descargar archivos de esquema desde la siguiente ubicación de Cloud Storage:
gs://google-cloud-aiplatform/schema/modelevaluation/
Las métricas de evaluación son las siguientes:
Clasificación
- AuPRC el área por debajo de la curva de precisión-recuperación (PR), también denominada "precisión media". Este valor va de cero a uno; cuanto mayor es el valor, más calidad tiene el modelo.
- AuROC el área por debajo de la curva de característica operativa del receptor. Va de cero a uno; cuanto mayor es el valor, más calidad tiene el modelo.
- Pérdida logarítmica: la entropía cruzada entre las inferencias del modelo y los valores objetivo. Va de cero a infinito; cuanto menor es el valor, más calidad tiene el modelo.
- Umbral de confianza: una puntuación de confianza que determina qué inferencias se devuelven. Un modelo devuelve inferencias que tienen este valor o uno superior. Cuanto más alto es el umbral de confianza, mayor es la precisión, pero menor es la recuperación. Vertex AI devuelve métricas de confianza en diferentes valores de umbral para mostrar cómo afecta el umbral a la precisión y a la recuperación.
- Retirada: la fracción de inferencias con esta clase que el modelo ha predicho correctamente. También se denomina tasa de verdaderos positivos.
- Retirada en 1: la retirada (tasa de verdaderos positivos) cuando solo se tiene en cuenta la etiqueta que tiene la puntuación de inferencia más alta y no está por debajo del umbral de confianza de cada ejemplo.
- Precisión: la fracción de las inferencias de clasificación correctas que produjo el modelo.
- Precisión en 1: la precisión cuando solo se tiene en cuenta la etiqueta que tiene la puntuación de inferencia más alta y no está por debajo del umbral de confianza de cada ejemplo.
- Puntuación F1: media armónica de la precisión y la recuperación. La métrica F1 resulta útil si buscas un equilibrio entre la precisión y la recuperación, así como si las clases están distribuidas de manera desigual.
- Puntuación F1 en 1: media armónica de la recuperación en 1 y la precisión en 1.
- Número de verdaderos negativos: el número de veces que un modelo ha predicho correctamente una clase negativa.
- Número de verdaderos positivos: el número de veces que un modelo ha predicho correctamente una clase positiva.
- Número de falsos negativos: número de veces que un modelo ha predicho erróneamente una clase negativa.
- Número de falsos positivos: el número de veces que un modelo ha predicho erróneamente una clase positiva.
- Tasa de falsos positivos: la fracción de resultados predichos incorrectamente del total de resultados predichos.
- Tasa de falsos positivos en 1: la tasa de falsos positivos cuando solo se tiene en cuenta la etiqueta que tiene la puntuación de inferencia más alta y no está por debajo del umbral de confianza de cada ejemplo.
- Matriz de confusión: una matriz de confusión muestra con qué frecuencia un modelo ha predicho correctamente un resultado. En el caso de los resultados predichos incorrectamente, la matriz muestra lo que predijo el modelo. La matriz de confusión te ayuda a saber en qué casos tu modelo confunde dos resultados.
- Atribuciones de características del modelo: Vertex AI te muestra cuánto influye cada característica en un modelo. Los valores se proporcionan como un porcentaje de cada función: cuanto mayor sea el porcentaje, mayor será el impacto de la función en el entrenamiento del modelo. Revisa esta información para asegurarte de que todas las funciones más importantes se ajustan a tus datos y al problema empresarial. Para obtener más información, consulta Atribuciones de funciones para la clasificación y la regresión.
Regresión
- MAE El error absoluto medio (MAE) es la diferencia absoluta media entre los valores objetivo y los valores predichos. Esta métrica va de cero a infinito; cuanto menor es el valor, más calidad tiene el modelo.
- RMSE el error cuadrático medio es la raíz cuadrada de la diferencia cuadrática media entre los valores objetivo y los valores predichos. El RMSE es más sensible a los valores atípicos que el MAE, por lo que, si te preocupan los errores grandes, el RMSE puede ser una métrica más útil para evaluar. Al igual que el MAE, cuanto menor sea el valor, mayor será la calidad del modelo (un 0 representa un predictor perfecto).
- RMSLE la métrica del error logarítmico cuadrático medio de la raíz es similar al RMSE, pero usa el logaritmo natural de los valores predichos y reales más 1. RMSLE penaliza las inferencias insuficientes más que las excesivas. También puede ser una buena métrica cuando no quieras penalizar las diferencias de valores de inferencia grandes más que las de valores de inferencia pequeños. Esta métrica va de cero a infinito; cuanto menor es el valor, más calidad tiene el modelo. La métrica de evaluación RMSLE solo se devuelve si todos los valores de la etiqueta y los valores predichos son no negativos.
- r^2: r cuadrado (r^2) es el valor al cuadrado del coeficiente de correlación de Pearson entre los valores predichos y las etiquetas. Esta métrica va de cero a uno. Cuanto mayor sea el valor, más se ajustará a la línea de regresión.
-
MAPE: El error medio del porcentaje absoluto (MAPE) es la diferencia media de porcentaje absoluto entre las etiquetas y los valores predichos. Esta métrica va de cero a infinito; cuanto menor es el valor, más calidad tiene el modelo.
El MAPE no se muestra si la columna de destino contiene algún valor 0. En este caso, MAPE no está definido. - Atribuciones de las características del modelo: Vertex AI te muestra el impacto de cada característica en un modelo. Los valores se proporcionan como un porcentaje de cada función: cuanto mayor sea el porcentaje, mayor será el impacto de la función en el entrenamiento del modelo. Revise esta información para asegurarse de que todas las funciones más importantes se ajustan a sus datos y al problema de su empresa. Para obtener más información, consulta Atribuciones de funciones para la clasificación y la regresión.
Siguientes pasos
Cuando quieras hacer predicciones con tu modelo de clasificación o regresión, tienes dos opciones:
- Hacer predicciones online (en tiempo real) con tu modelo.
- Obtén predicciones por lotes directamente de tu modelo.
Además, puedes hacer lo siguiente:
- Consulta la arquitectura de tu modelo.
- Consulta cómo exportar tu modelo.