En esta página, se muestra cómo evaluar tus modelos de regresión y clasificació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 pruebas.
Antes de comenzar
Antes de que puedas evaluar tu modelo, debes entrenarlo.
Cómo usas las métricas de evaluación de modelos
Las métricas de evaluación de modelos proporcionan medidas cuantitativas sobre el rendimiento de tu modelo en el conjunto de prueba. La forma en la que interpretas y usas esas métricas depende de la necesidad de tu empresa y del problema que tu modelo esté entrenado para resolver. Por ejemplo, es posible que tengas una tolerancia más baja para los falsos positivos que para los falsos negativos, o viceversa. Estos tipos de preguntas afectan las métricas en las que te enfocarás.
Obtén métricas de evaluación
Puedes obtener un conjunto agregado de métricas de evaluación para tu modelo y, para algunos objetivos, métricas de evaluación de una clase o etiqueta en particular. Las métricas de evaluación para una clase o etiqueta en particular también se conocen como fragmento de evaluación. En el siguiente contenido, se describe cómo obtener métricas de evaluación agregadas y secciones de evaluación mediante la API o la consola de Google Cloud.
Consola de Google Cloud
En la sección Vertex AI de la consola de Google Cloud, vaya 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, haz clic en tu modelo para abrir la pestaña Evaluar.
En la pestaña Evaluar, puedes ver las métricas de evaluación agregadas de tu modelo, como Precisión promedio y Recuperación.
Si el objetivo del modelo tiene porciones de evaluación, la consola mostrará una lista de etiquetas. Puedes 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 a la API a fin de obtener métricas de evaluación son las mismas para cada tipo de datos y objetivo, pero los resultados son diferentes. En los siguientes ejemplos, se muestra la misma solicitud, pero respuestas diferentes.
Obtén métricas totales de evaluación de modelos
Las métricas agregadas de evaluación del modelo proporcionan información sobre el modelo como un todo. Para ver información sobre una porción específica, enumera las porciones de evaluación del modelo.
Para ver las métricas totales de la evaluación del modelo, usa el método projects.locations.models.evaluations.get
.
A continuación, selecciona la pestaña para tu objetivo:
Clasificación
Vertex AI muestra un arreglo de métricas de confianza. Cada elemento muestra las métricas de evaluación en un valor de confidenceThreshold
diferente (a partir de 0 y hasta 1). Si consultas diferentes valores de umbral, puedes ver cómo el umbral afecta a otras métricas, como la precisión y la recuperación.
Selecciona una pestaña que corresponda a tu idioma o entorno:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se almacena tu modelo.
- PROJECT: El ID del proyecto.
- MODEL_ID: El ID del recurso del modelo.
- PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
- EVALUATION_ID: ID para 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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Regresión
Selecciona una pestaña que corresponda a tu idioma o entorno:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se almacena tu modelo.
- PROJECT: El ID del proyecto.
- MODEL_ID: El ID del recurso del modelo.
- PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
- EVALUATION_ID: ID para 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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Enumera todas las porciones de evaluación (solo modelos de clasificación)
El método projects.locations.models.evaluations.slices.list
enumera todas las porciones de evaluación de tu modelo. Debes tener el ID de evaluación del modelo, que puedes obtener cuando ves las métricas de evaluación agregadas.
Puedes usar los fragmentos de evaluación del modelo para determinar el rendimiento del modelo en una etiqueta específica. El campo value
indica para qué etiqueta son las métricas.
Vertex AI muestra un arreglo de métricas de confianza. Cada elemento muestra las métricas de evaluación en un valor de confidenceThreshold
diferente (a partir de 0 y hasta 1). Si consultas diferentes valores de umbral, puedes ver cómo el umbral afecta a otras métricas, como la precisión y la recuperación.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se encuentra el modelo. Por ejemplo,
us-central1
. - PROJECT: El ID del proyecto.
- MODEL_ID: El ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene las porciones de evaluación que se deben incluir en la lista.
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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Obtén métricas para un solo fragmento
Si deseas ver las métricas de evaluación de una solo porción, usa el método projects.locations.models.evaluations.slices.get
. Debes tener el ID de porción, que se proporciona cuando Enumeras todas las porciones. En la siguiente muestra, se aplica a todos los tipos de datos y objetivos.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se encuentra el modelo. Por ejemplo, us-central1.
- PROJECT: El ID del proyecto.
- MODEL_ID: El ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene el fragmento de evaluación que se debe recuperar.
- SLICE_ID: ID de un fragmento de evaluación para obtener.
- PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: El nombre de un archivo de esquema que define las métricas de evaluación para mostrar, 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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Métricas de evaluación de modelos
Vertex AI muestra varias métricas de evaluación diferentes, como los límites de confianza, precisión y recuperación. Las métricas que muestra Vertex AI dependen del objetivo del modelo. Por ejemplo, Vertex AI proporciona diferentes métricas de evaluación para un modelo de clasificación de imágenes en comparación con 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/
Estas son las métricas de evaluación:
Clasificación
- AuPRC: el área bajo la curva de precisión y recuperación (PR), también conocida como precisión promedio. Esta medida puede variar de cero a uno y, cuanto más alto sea su valor, mejor será la calidad del modelo.
- AuROC: El área bajo la curva de característica operativa del receptor. Esta puede variar de cero a uno y cuanto más alto sea su valor, mejor será la calidad del modelo.
- Pérdida logística: La entropía cruzada entre las predicciones del modelo y los valores objetivo. Esta medida puede variar de cero a infinito y, cuanto más bajo sea su valor, mejor será la calidad del modelo.
- Umbral de confianza: Una puntuación de confianza que determina qué predicciones mostrar. Un modelo muestra predicciones que tienen este valor o uno más alto. Un umbral de confianza mayor aumenta la precisión, pero reduce la recuperación. Vertex AI muestra métricas de confianza con diferentes valores de umbral para mostrar cómo el umbral afecta la precisión y la recuperación.
- Recuperación: La fracción de predicciones con esta clase que el modelo predijo de forma correcta. También se denomina tasa de verdaderos positivos.
- Recuperación a 1: La recuperación (tasa de verdaderos positivos) cuando solo se considera la etiqueta que tiene la puntuación de predicción más alta y no el nivel de confianza de cada ejemplo.
- Precisión: La fracción de predicciones de clasificación correctas que produjo el modelo.
- Precisión en 1: La precisión solo cuando se considera la etiqueta que tiene la puntuación de predicción más alta y no está debajo del umbral de confianza para cada ejemplo.
- Puntuación F1: La media armónica de precisión y recuperación. F1 es una métrica útil si lo que buscas es un equilibrio entre la precisión y la recuperación, y tienes una distribución de clases despareja.
- Puntuación F1 en 1: La media armónica de recuperación en 1 y precisión en 1.
- Conteo de verdaderos negativos: la cantidad de veces que un modelo predijo correctamente una clase negativa.
- Recuento de verdaderos positivos: La cantidad de veces que un modelo predijo de forma correcta una clase positiva.
- Recuento de falsos negativos: La cantidad de veces que un modelo predijo de forma incorrecta una clase negativa.
- Recuento de falsos positivos: La cantidad de veces que un modelo predijo de forma incorrecta una clase positiva.
- Tasa de falsos positivos: La fracción de resultados previstos de forma incorrecta de todos los resultados previstos.
- Tasa de falsos positivos en 1: Tasa de falsos positivos cuando solo se considera la etiqueta que tiene la puntuación más alta de la predicción y no está debajo del umbral de confianza de cada ejemplo.
- Matriz de confusión: Una matriz de confusión muestra la frecuencia con la que un modelo predijo correctamente un resultado. Para resultados previstos de forma incorrecta, la matriz muestra lo que el modelo predijo en su lugar. La matriz de confusión te ayuda a comprender dónde tu modelo "confunde" dos resultados.
- Atribución de atributos del modelo: Vertex AI te muestra cuánto afecta cada atributo a un modelo. Los valores se proporcionan como un porcentaje para cada atributo: cuanto más alto sea el porcentaje, más impacto tendrá el atributo en el entrenamiento del modelo. Revise esta información con el fin de asegurarse de que todos los atributos más importantes sean relevantes para sus datos y su problema empresarial. Para obtener más información, Consulta Atribuciones de atributos para clasificación y regresión.
Regresión
- MAE: El error absoluto promedio (MAE) es la diferencia absoluta promedio entre los valores objetivo y los valores previstos. Esta métrica puede variar de cero a infinito, y cuanto más bajo sea el valor, mejor será la calidad del modelo.
- RMSE: El error de la raíz cuadrada de la media es la raíz cuadrada de la diferencia cuadrada promedio entre los valores objetivo y previsto. RMSE es más sensible a los valores atípicos que MAE, por lo que si te preocupan los grandes errores, RMSE puede ser una métrica más útil para evaluar. Al igual que MAE, cuanto más bajo el valor, mayor será la calidad del modelo (0 representa un predictor perfecto).
- RMSLE: La métrica del error logarítmico de la raíz cuadrada de la media es similar a RMSE, excepto que usa el logaritmo natural de los valores previstos y reales más 1. RMSLE penaliza con mayor peso la subpredicción que la sobrepredicción. También puede ser una buena métrica cuando no se desea penalizar con mayor peso las diferencias para los valores de predicciones grandes que para los valores de predicciones pequeños. Esta métrica puede variar de cero a infinito y, cuanto más bajo sea el valor, mejor será la calidad del modelo. La métrica de evaluación RMSLE se muestra solo si todos los valores previstos y las etiquetas no son negativos.
- r^2: r al cuadrado es el cuadrado del coeficiente de correlación de Pearson entre las etiquetas y los valores previstos. Esta métrica puede variar entre cero y uno. Un valor más alto indica un ajuste más cercano a la línea de regresión.
-
MAPE: El error porcentual absoluto promedio (MAPE) es el promedio de la diferencia porcentual absoluta entre los valores previstos y las etiquetas. Esta métrica puede variar entre cero y un valor infinito; cuanto más bajo sea el valor, mejor será la calidad del modelo.
MAPE no se muestra si la columna objetivo contiene valores 0. En este caso, MAPE no está definido. - Atribución de atributos del modelo: Vertex AI te muestra cuánto afecta cada atributo a un modelo. Los valores se proporcionan como un porcentaje para cada atributo: cuanto más alto sea el porcentaje, más impacto tendrá el atributo en el entrenamiento del modelo. Revisa esta información para asegurarte de que todos los atributos más importantes sean relevantes para tus datos y tu problema empresarial. Para obtener más información, Consulta Atribuciones de atributos para clasificación y regresión.
¿Qué sigue?
Una vez que estés listo para hacer predicciones con tu modelo de clasificación o regresión, tienes dos opciones:
- Haz predicciones en línea (en tiempo real) con tu modelo.
- Obtén predicciones por lotes directamente de tu modelo.
Además, puedes hacer lo siguiente:
- Ve la arquitectura de tu modelo.
- Obtén más información sobre cómo exportar tu modelo.