Cette page explique comment évaluer vos modèles de classification et de régression AutoML.
Vertex AI fournit des métriques d'évaluation de modèle pour vous aider à déterminer les performances de vos modèles, telles que les métriques de précision et de rappel. Vertex AI calcule les métriques d'évaluation à l'aide de l'ensemble de test.
Avant de commencer
Pour pouvoir évaluer votre modèle, vous devez l'entraîner.
Utiliser les métriques d'évaluation de modèle
Les métriques d'évaluation d'un modèle fournissent des mesures quantitatives sur les performances de votre modèle avec l'ensemble de test. La manière dont vous interprétez et utilisez ces métriques dépend des besoins de votre entreprise et du problème que votre modèle est entraîné à résoudre. Par exemple, vous pouvez obtenir une tolérance plus faible pour les faux positifs que pour les faux négatifs, ou inversement. Ces types de questions ont une incidence sur les métriques sur lesquelles vous devez vous concentrer.
Obtenir des métriques d'évaluation
Vous pouvez obtenir un ensemble agrégé de métriques d'évaluation pour votre modèle et, pour certains objectifs, des métriques d'évaluation pour une classe ou une étiquette donnée. Les métriques d'évaluation pour une classe ou une étiquette spécifique sont également appelées tranches d'évaluation. Le contenu suivant décrit comment obtenir des métriques d'évaluation agrégées et des tranches d'évaluation à l'aide de Google Cloud Console ou de l'API.
console Google Cloud
Accédez à la page Modèles de la console Google Cloud, dans la section Vertex AI.
Dans la liste déroulante Région, sélectionnez la région dans laquelle se trouve votre modèle.
Dans la liste des modèles, cliquez sur votre modèle pour ouvrir l'onglet Évaluation correspondant.
Dans l'onglet Évaluation, vous pouvez afficher les métriques d'évaluation agrégées de votre modèle, telles que la précision moyenne et le rappel.
Si l'objectif du modèle comporte des tranches d'évaluation, la console affiche une liste d'étiquettes. Vous pouvez cliquer sur une étiquette pour afficher les métriques d'évaluation correspondantes, comme illustré dans l'exemple suivant :
API
Les requêtes API permettant d'obtenir des métriques d'évaluation sont identiques pour chaque type de données et objectif, mais les résultats sont différents. Les exemples suivants montrent la même requête, mais des réponses différentes.
Obtenir des métriques d'évaluation de modèle agrégées
Les métriques d'évaluation de modèle agrégées fournissent des informations sur le modèle dans son ensemble. Pour afficher des informations sur une tranche spécifique, répertoriez les tranches d'évaluation du modèle.
Pour afficher les métriques d'évaluation de modèle agrégées, utilisez la méthode projects.locations.models.evaluations.get
.
Sélectionnez l'onglet correspondant à votre objectif :
Classification
Vertex AI renvoie un tableau de métriques de confiance. Chaque élément affiche les métriques d'évaluation avec une valeur confidenceThreshold
différente (comprise entre 0 et 1). En affichant différentes valeurs de seuil, vous pouvez voir comment le seuil affecte d'autres métriques, telles que la précision et le rappel.
Sélectionnez un onglet correspondant à votre langue ou à votre environnement :
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où votre modèle est stocké.
- PROJECT : l'ID de votre projet.
- MODEL_ID : ID de la ressource de modèle.
- PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.
- EVALUATION_ID : ID de l'évaluation du modèle (affiché dans la réponse).
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Régression
Sélectionnez un onglet correspondant à votre langue ou à votre environnement :
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où votre modèle est stocké.
- PROJECT : l'ID de votre projet.
- MODEL_ID : ID de la ressource de modèle.
- PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.
- EVALUATION_ID : ID de l'évaluation du modèle (affiché dans la réponse).
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Répertorier toutes les tranches d'évaluation (modèles de classification uniquement)
La méthode projects.locations.models.evaluations.slices.list
répertorie toutes les tranches d'évaluation de votre modèle. Vous devez disposer de l'ID d'évaluation du modèle, que vous pouvez obtenir lorsque vous affichez les métriques d'évaluation agrégées.
Les tranches d'évaluation d'un modèle permettent de déterminer les performances du modèle sur une étiquette spécifique. Le champ value
vous indique à quelle étiquette les métriques sont destinées.
Vertex AI renvoie un tableau de métriques de confiance. Chaque élément affiche les métriques d'évaluation avec une valeur confidenceThreshold
différente (comprise entre 0 et 1). En affichant différentes valeurs de seuil, vous pouvez voir comment le seuil affecte d'autres métriques, telles que la précision et le rappel.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où se trouve le modèle. Exemple :
us-central1
. - PROJECT : l'ID de votre projet.
- MODEL_ID : ID de votre modèle.
- EVALUATION_ID : ID de l'évaluation du modèle qui contient les tranches d'évaluation à répertorier.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Obtenir des métriques pour une seule tranche
Pour afficher les métriques d'évaluation d'une tranche, utilisez la méthode projects.locations.models.evaluations.slices.get
. Vous devez disposer de l'ID de tranche, qui est fourni lorsque vous répertoriez toutes les tranches. L'exemple suivant s'applique à tous les types de données et objectifs.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où se trouve le modèle. Exemple : us-central1.
- PROJECT : l'ID de votre projet.
- MODEL_ID : ID de votre modèle.
- EVALUATION_ID : ID de l'évaluation du modèle qui contient la tranche d'évaluation à récupérer.
- SLICE_ID : ID d'une tranche d'évaluation à obtenir.
- PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.
- EVALUATION_METRIC_SCHEMA_FILE_NAME : nom d'un fichier de schéma qui définit les métriques d'évaluation à renvoyer, telles que
classification_metrics_1.0.0
.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Métriques d'évaluation du modèle
Vertex AI renvoie plusieurs métriques d'évaluation différentes, telles que des seuils de précision, de rappel et de confiance. Les métriques renvoyées par Vertex AI dépendent de l'objectif de votre modèle. Par exemple, Vertex AI fournit des métriques d'évaluation différentes pour un modèle de classification d'images par rapport à un modèle de détection d'objets au sein des images.
Un fichier de schéma détermine les métriques d'évaluation fournies par Vertex AI pour chaque objectif.
Vous pouvez afficher et télécharger des fichiers de schéma à partir de l'emplacement Cloud Storage suivant :
gs://google-cloud-aiplatform/schema/modelevaluation/
Les métriques d'évaluation sont les suivantes :
Classification
- AuPRC : zone sous la courbe de précision/rappel, également appelée précision moyenne. Cette valeur est comprise entre zéro et un. Plus elle est élevée, plus le modèle est de bonne qualité.
- AuROC : zone sous la courbe ROC (Receiver Operating Characteristic). Cette valeur est comprise entre zéro et un. Plus elle est élevée, plus le modèle est de bonne qualité.
- Perte logistique : entropie croisée entre les prédictions du modèle et les valeurs cibles. Cette valeur varie de zéro à l'infini. Plus elle est faible, plus le modèle est de bonne qualité.
- Seuil de confiance : score de confiance qui détermine les prédictions à renvoyer. Un modèle renvoie des prédictions d'une valeur égale ou supérieure. Un seuil de confiance élevé augmente la précision, mais diminue le rappel. Vertex AI renvoie des métriques de confiance à différentes valeurs de seuil pour montrer l'impact du seuil sur la précision et le rappel.
- Rappel : fraction des prédictions comportant cette classe que le modèle a correctement prédites. Également appelé taux de vrais positifs.
- Rappel à 1 : le rappel (taux de vrais positifs) lorsque vous ne tenez compte que de l'étiquette dont le score de prédiction est à la fois le plus élevé et supérieur ou égal au seuil de confiance de chaque exemple.
- Précision : fraction des prédictions de classification produites par le modèle qui étaient correctes.
- Précision 1 : précision lorsque vous ne tenez compte que de l'étiquette dont le score de prédiction est à la fois le plus élevé et supérieur ou égal au seuil de confiance de chaque exemple.
- Score F1 : moyenne harmonique de précision et du rappel. F1 est une métrique utile si vous souhaitez équilibrer précision et rappel, et que les classes sont réparties de façon inégale.
- Score F1 à 1 : moyenne harmonique du rappel à 1 et de précision à 1.
- Nombre de vrais négatifs : nombre de fois qu'un modèle a correctement prédit une classe négative.
- Nombre de vrais positifs : nombre de fois qu'un modèle a correctement prédit une classe positive.
- Nombre de faux négatifs : nombre de fois où un modèle a prédit par erreur une classe négative.
- Nombre de faux positifs : nombre de fois où un modèle a prédit par erreur une classe positive.
- Taux de faux positifs : fraction de résultats prédits de manière incorrecte sur tous les résultats prédits.
- Taux de faux positifs à 1 : taux de faux positifs lorsque vous ne tenez compte que de l'étiquette dont le score de prédiction est à la fois le plus élevé et supérieur ou égal au seuil de confiance de chaque exemple.
- Matrice de confusion : une matrice de confusion indique la fréquence à laquelle un modèle prédit correctement un résultat. Pour les résultats prédits de manière incorrecte, la matrice indique ce que le modèle a prédit à la place. La matrice de confusion vous permet de comprendre où votre modèle "confond" deux résultats.
- Attributions des caractéristiques du modèle : Vertex AI indique l'impact de chaque caractéristique sur un modèle. Les valeurs sont fournies sous la forme d'un pourcentage pour chaque caractéristique : plus le pourcentage est élevé, plus l'impact de la caractéristique sur l'entraînement du modèle est important. Examinez ces informations pour vous assurer que toutes les caractéristiques les plus importantes sont pertinentes pour vos données et votre problème commercial. Pour en savoir plus, consultez la page Attributions de caractéristiques pour la classification et la régression.
Régression
- EAM : l'erreur absolue moyenne (EAM) représente l'écart absolu moyen entre les valeurs cibles et les valeurs prédites. Cette valeur varie de zéro à l'infini. Plus elle est faible, plus le modèle est de bonne qualité.
- RMSE : la racine carrée de l'erreur quadratique moyenne est la racine carrée de la différence carrée moyenne entre les valeurs cibles et prédites. La RMSE est plus sensible aux anomalies que l'EAM. Par conséquent, si vous craignez des erreurs importantes, cette métrique est sans doute plus utile à évaluer. Comme pour l'EAM, une valeur inférieure indique un modèle de qualité supérieure (0 représentant un prédicteur parfait).
- RMSLE : la racine carrée de l'erreur logarithmique quadratique moyenne est semblable à la RMSE, à ceci près qu'elle utilise le logarithme naturel des valeurs prédictives et réelles plus 1. La RMSLE pénalise davantage la sous-prédiction que la sur-prédiction. Cette métrique est également utile si vous ne souhaitez pas pénaliser plus fortement les différences dans les grandes valeurs de prédiction par rapport aux valeurs plus petites. Cette valeur varie de zéro à l'infini. Plus elle est faible, plus le modèle est de bonne qualité. La métrique d'évaluation RMSLE ne s'affiche que si toutes les valeurs et étiquettes de prédiction sont non négatives.
- r^2 : r-carré (r^2) correspond au carré du coefficient de corrélation Pearson entre les valeurs observées et les valeurs prédites. Cette métrique est comprise entre zéro et un. Une valeur plus élevée indique une meilleure adéquation avec la ligne de régression.
-
EAMP : l'erreur absolue moyenne en pourcentage (EAMP) représente l'écart absolu moyen en pourcentage entre les étiquettes et les valeurs prédites. Cette valeur varie de zéro à l'infini. Plus elle est faible, plus le modèle est de bonne qualité.
L'EAMP ne s'affiche pas si la colonne cible contient des valeurs nulles. Dans ce cas, l'EAMP n'est pas définie. - Attributions des caractéristiques du modèle : Vertex AI indique l'impact de chaque caractéristique sur un modèle. Les valeurs sont fournies sous la forme d'un pourcentage pour chaque caractéristique : plus le pourcentage est élevé, plus l'impact de la caractéristique sur l'entraînement du modèle est important. Examinez ces informations pour vous assurer que toutes les caractéristiques les plus importantes sont pertinentes pour vos données et votre problème commercial. Pour en savoir plus, consultez la page Attributions de caractéristiques pour la classification et la régression.
Étapes suivantes
Lorsque vous êtes prêt à effectuer des prédictions avec votre modèle de classification ou de régression, vous disposez de deux options :
- Effectuez des prédictions en ligne (en temps réel) à l'aide de votre modèle.
- Obtenez des prédictions par lot à partir de votre modèle.
Vous pouvez en outre effectuer l'opération suivante :
- Affichez l'architecture de votre modèle.
- Découvrez comment exporter votre modèle.