Évaluation d'une version de la solution Amazon Personalize à l'aide de métriques - Amazon Personalize

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Évaluation d'une version de la solution Amazon Personalize à l'aide de métriques

Vous pouvez évaluer les performances de la version de votre solution grâce à des indicateurs en ligne et hors ligne. Les métriques en ligne sont les résultats empiriques que vous observez dans les interactions de vos utilisateurs avec des recommandations en temps réel. Par exemple, vous pouvez enregistrer le taux de clics de vos utilisateurs lorsqu'ils parcourent votre catalogue. Vous êtes responsable de la génération et de l'enregistrement de tous les indicateurs en ligne.

Les métriques hors ligne sont les métriques générées par Amazon Personalize lorsque vous entraînez une version de solution. Les métriques hors ligne vous permettent d'évaluer les performances du modèle. Vous pouvez visualiser les effets de la modification des hyperparamètres d'une solution et comparer les résultats de modèles entraînés avec différentes recettes sur les mêmes données dans le même groupe de jeux de données.

Évitez de comparer les métriques des différentes versions de solutions entraînées avec différentes données. La différence entre les métriques peut être due à la différence entre les données plutôt qu'aux performances du modèle. Par exemple, vous pouvez avoir un groupe de jeux de données contenant des données d'purchaseévénements éparses pour chaque utilisateur, et un autre contenant des données d'viewévénements robustes. Sur la base de mesures telles que precision at K la version de la solution entraînée sur les données d'événements de visualisation peut sembler à tort plus performante en raison du nombre plus élevé d'interactions.

Pour obtenir des indicateurs de performance, Amazon Personalize divise les données des interactions d'entrée en un ensemble d'entraînement, un ensemble de test et, pour PERSONALIZED_ACTIONS, un ensemble de validation. La répartition dépend du type de recette que vous choisissez :

  • Pour les recettes USER_SEGMENTATION, le kit de formation comprend 80 % des données d'interactions de chaque utilisateur et le kit de test comprend 20 % des données d'interactions de chaque utilisateur.

  • Pour tous les autres types de recettes, le kit d'entraînement comprend 90 % de vos utilisateurs et de leurs données d'interaction. L'ensemble de tests comprend les 10 % d'utilisateurs restants et leurs données d'interactions.

Amazon Personalize crée ensuite la version de la solution à l'aide du kit de formation. Une fois la formation terminée, Amazon Personalize fournit à la nouvelle version de la solution les 90 % les plus anciens des données de chaque utilisateur issues du kit de test en entrée. Amazon Personalize calcule ensuite les indicateurs en comparant les recommandations générées par la version de la solution aux interactions réelles figurant dans les 10 % les plus récents des données de chaque utilisateur issues du kit de test.

Pour générer une base de référence à des fins de comparaison, nous vous recommandons d'utiliser la Comptage de popularité recette, qui recommande les K articles les plus populaires.

Récupération des métriques de version de la solution

Après avoir créé une version de solution, vous pouvez utiliser des métriques pour évaluer ses performances. Vous pouvez récupérer les métriques d'une version de solution à l'aide de la console Amazon Personalize AWS Command Line Interface (AWS CLI) et AWS des SDK.

Récupération des métriques de version de la solution (console)

Pour consulter les statistiques des recommandations dans la console, accédez à la page de détails de la version de votre solution.

  1. Ouvrez la console Amazon Personalize à l'adresse https://console.aws.amazon.com/personalize/home et connectez-vous à votre compte.

  2. Sur la page Groupes de jeux de données, choisissez votre groupe de jeux de données personnalisé.

  3. Dans le volet de navigation, sélectionnez Ressources personnalisées, puis Solutions et recettes.

  4. Choisissez votre solution.

  5. Dans Versions de solution, choisissez la version de votre solution pour afficher sa page de détails. Les métriques sont répertoriées dans l'onglet Mesures de version de solution dans le volet inférieur. Pour les définitions des métriques, voirDéfinitions métriques.

    Maintenant que vous avez évalué la version de votre solution, vous pouvez créer une campagne en déployant la version de la solution présentant les meilleurs indicateurs pour votre cas d'utilisation. Pour plus d'informations sur le déploiement d'une solution, consultezDéploiement d'une version de la solution Amazon Personalize avec une campagne.

Récupération des métriques de version de la solution ()AWS CLI

Vous pouvez extraire les métriques pour une version de solutions spécifique en appelant l'opération GetSolutionMetrics. Le code suivant montre comment récupérer des métriques avec le AWS CLI.

personalize get-solution-metrics --solution-version-arn solution version ARN

Voici un exemple de sortie d'une version de solution créée à l'aide de la Personnalisation par l'utilisateur recette avec un objectif d'optimisation supplémentaire.

{ "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/SolutionName/<version-id>", "metrics": { "coverage": 0.27, "mean_reciprocal_rank_at_25": 0.0379, "normalized_discounted_cumulative_gain_at_5": 0.0405, "normalized_discounted_cumulative_gain_at_10": 0.0513, "normalized_discounted_cumulative_gain_at_25": 0.0828, "precision_at_5": 0.0136, "precision_at_10": 0.0102, "precision_at_25": 0.0091, "average_rewards_at_k": 0.653 } }

Pour obtenir des explications sur chaque métrique, voirDéfinitions métriques. Maintenant que vous avez évalué la version de votre solution, vous pouvez créer une campagne en déployant la version de la solution présentant les meilleurs indicateurs pour votre cas d'utilisation. Pour plus d'informations sur le déploiement d'une solution, consultezDéploiement d'une version de la solution Amazon Personalize avec une campagne.

Récupération des métriques de version de la solution (AWS SDK)

Vous pouvez extraire les métriques pour une version de solutions spécifique en appelant l'opération GetSolutionMetrics. Utilisez le code suivant pour récupérer les mesures.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.get_solution_metrics( solutionVersionArn = 'solution version arn') print(response['metrics'])
SDK for Java 2.x
public static void getSolutionVersionMetrics(PersonalizeClient personalizeClient, String solutionVersionArn) { try { GetSolutionMetricsRequest request = GetSolutionMetricsRequest.builder() .solutionVersionArn(solutionVersionArn) .build(); Map<String, Double> metrics = personalizeClient.getSolutionMetrics(request).metrics(); metrics.forEach((key, value) -> System.out.println(key + " " + value)); } catch (PersonalizeException e ) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Voici un exemple de sortie d'une version de solution créée à l'aide de la Personnalisation par l'utilisateur recette avec un objectif d'optimisation supplémentaire.

{ "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>", "metrics": { "coverage": 0.27, "mean_reciprocal_rank_at_25": 0.0379, "normalized_discounted_cumulative_gain_at_5": 0.0405, "normalized_discounted_cumulative_gain_at_10": 0.0513, "normalized_discounted_cumulative_gain_at_25": 0.0828, "precision_at_5": 0.0136, "precision_at_10": 0.0102, "precision_at_25": 0.0091, "average_rewards_at_k": 0.653 } }

Pour obtenir des explications sur chaque métrique, voirDéfinitions métriques. Maintenant que vous avez évalué la version de votre solution, vous pouvez créer une campagne en déployant la version de la solution présentant les meilleurs indicateurs pour votre cas d'utilisation. Pour plus d'informations sur le déploiement d'une solution, consultezDéploiement d'une version de la solution Amazon Personalize avec une campagne.

Définitions métriques

Les métriques générées par Amazon Personalize pour les versions des solutions sont décrites ci-dessous en utilisant les termes suivants :

  • Une recommandation pertinente est une recommandation pour un élément avec lequel l'utilisateur a réellement interagi. Ces éléments proviennent des 10 % les plus récents des données d'interactions de chaque utilisateur issues du kit de test.

  • Rang fait référence à la position d'un élément dans la liste des recommandations. La position 1 (en haut de la liste) est présumée comme étant la plus pertinente pour l'utilisateur.

Pour chaque métrique, les valeurs les plus élevées (plus proches de 1) sont préférables. Pour en savoir plus, consultez les ressources répertoriées dansRessources supplémentaires.

couverture

La valeur de couverture vous indique la proportion d'articles uniques (pour les recommandations d'articles), d'actions (pour les recommandations d'actions) ou d'utilisateurs (pour les recommandations de segments d'utilisateurs) qu'Amazon Personalize peut recommander par rapport au nombre total d'enregistrements uniques de vos ensembles de données.

Un score de couverture plus élevé signifie qu'Amazon Personalize recommande une plus grande partie de votre catalogue, plutôt que les mêmes enregistrements à plusieurs reprises. Les recettes qui proposent l'exploration d'objets, telles que la personnalisation par l'utilisateur, ont une couverture plus étendue que celles qui n'en proposent pas, telles que les recettes similaires.

rang réciproque moyen à 25

Cette métrique indique la capacité d'un modèle à générer des recommandations d'articles pertinentes à la première place.

Vous pouvez choisir un modèle dont le classement réciproque moyen est élevé (25) si vous générez des résultats de recherche d'articles pour un utilisateur et ne vous attendez pas à ce que l'utilisateur choisisse un élément situé plus bas dans la liste. Par exemple, les utilisateurs choisissent fréquemment la première recette de cuisine dans les résultats de recherche. Amazon Personalize ne génère pas cette métrique pour les recettes PERSONALIZED_ACTIONS ou USER_SEGMENTATION.

Amazon Personalize calcule cette métrique en utilisant le score de classement réciproque moyen pour les demandes de recommandations. Chaque score de classement réciproque est calculé comme suit :1 / the rank of the highest item interacted with by the user, où le total des classements possibles est de 25. Les autres éléments de rang inférieur avec lesquels l'utilisateur interagit sont ignorés. Si l'utilisateur choisit le premier élément, le score est de 1. S'ils ne choisissent aucun objet, le score est de 0.

Par exemple, vous pouvez présenter 25 recommandations à trois utilisateurs différents :

  • Si l'utilisateur 1 clique sur l'objet au rang 4 et sur l'élément au rang 10, son score de classement réciproque est de 1/4.

  • Si l'utilisateur 2 clique sur un élément au rang 2, un élément au rang 4 et un élément au rang 12, son score de classement réciproque est de 1/2.

  • Si l'utilisateur 3 clique sur un seul élément au rang 6, son score de classement réciproque est de 1/6.

Le classement réciproque moyen de toutes les demandes de recommandations (dans ce cas 3) est calculé comme suit(1/4 + 1/2 + 1/6) / 3 = .3056.

gain cumulé actualisé normalisé (NDCG) à K (5/10/25)

Cette métrique indique dans quelle mesure votre modèle classe les recommandations d'éléments ou d'actions, où K est un échantillon de 5, 10 ou 25 recommandations. Cette métrique est utile si vous êtes particulièrement intéressé par le classement des recommandations au-delà de l'élément ou de l'action le mieux classé (pour cela, voirmean reciprocal rank at 25). Par exemple, le score de NDCG at 10 serait utile si vous avez une application qui affiche jusqu'à 10 films dans un carrousel à la fois.

Amazon Personalize calcule le NDCG en attribuant une pondération aux recommandations en fonction de leur position dans le classement de chaque utilisateur du kit de test. Chaque recommandation est réduite (avec une pondération plus faible) selon un facteur qui dépend de sa position. La métrique finale est la moyenne NDCG at K pour tous les utilisateurs du kit de test. Cela NDCG at K suppose que les recommandations situées en bas d'une liste sont moins pertinentes que les recommandations situées en haut de la liste.

Amazon Personalize utilise un facteur de pondération de1/log(1 + position), où le haut de la liste est la position1.

précision à K

Cette métrique indique dans quelle mesure les recommandations de votre modèle sont pertinentes sur la base d'un échantillon de K (5, 10 ou 25) recommandations.

Amazon Personalize calcule cette métrique en fonction du nombre de recommandations pertinentes parmi les K meilleures recommandations pour chaque utilisateur du kit de test, divisé par K, où K est 5, 10 ou 25. La mesure finale est la moyenne de tous les utilisateurs du kit de test.

Par exemple, si vous recommandez 10 éléments à un utilisateur et que l'utilisateur interagit avec 3 d'entre eux, la précision à K est de 3 éléments correctement prédits divisés par le total des 10 éléments recommandés :3 / 10 = .30.

Cette métrique récompense la recommandation précise d'articles pertinents. Plus le score est proche de 1, plus le modèle est précis.

precision

Si vous entraînez une version de solution avec la recette Next-Best-Action, Amazon Personalize génère une precision métrique au lieu de. precision at K Cette métrique vous indique dans quelle mesure votre modèle prédit les actions que les utilisateurs vont réellement entreprendre.

Pour calculerprecision, pour chaque action de votre ensemble de données, Amazon Personalize divise le nombre d'utilisateurs correctement prévus pour effectuer l'action par le nombre total de fois que l'action a été recommandée. Amazon Personalize calcule ensuite la moyenne de toutes les actions de votre ensemble de données.

Par exemple, si une action a été recommandée à 100 utilisateurs, et que 60 utilisateurs l'ont effectuée et 40 utilisateurs qui ne l'ont pas fait, precision l'action est la suivante : 60 / 100 = .60 Amazon Personalize applique ensuite ce calcul à toutes les actions et renvoie la moyenne.

Cette métrique récompense la recommandation précise d'actions pertinentes. Plus le score est proche de 1, plus le modèle est précis.

récompense_moyen_at_k

Lorsque vous créez une version de solution (entraînez un modèle) pour une solution avec un objectif d'optimisation, Amazon Personalize génère une average_rewards_at_k métrique. Le score de average_rewards_at_k indique dans quelle mesure la version de la solution permet d'atteindre votre objectif. Pour calculer cette statistique, Amazon Personalize calcule les récompenses pour chaque utilisateur comme suit :

rewards_per_user = total rewards from the user's interactions with their top 25 reward generating recommendations / total rewards from the user's interactions with recommendations

La valeur finale average_rewards_at_k est la moyenne de toutes les valeurs rewards_per_user normalisées pour être une valeur décimale inférieure ou égale à 1 et supérieure à 0. Plus la valeur est proche de 1, plus vous pouvez vous attendre à des gains en moyenne par utilisateur grâce aux recommandations.

Par exemple, si votre objectif est de maximiser les revenus générés par les clics, Amazon Personalize calcule le score de chaque utilisateur en divisant le chiffre d'affaires total généré par les articles sur lesquels l'utilisateur a cliqué parmi ses 25 recommandations les plus chères par les revenus provenant de tous les articles recommandés sur lesquels l'utilisateur a cliqué. Amazon Personalize renvoie ensuite une moyenne normalisée de tous les scores des utilisateurs. Plus la valeur average_rewards_at_k est proche de 1, plus vous pouvez vous attendre à générer en moyenne des revenus par utilisateur grâce aux recommandations.

Pour plus d’informations, consultez Optimisation d'une solution pour un objectif supplémentaire.

précision de la prévision des tendances

Si vous avez entraîné la version de la solution avec la Tendance actuelle recette, le taux d'augmentation de la popularité des articles recommandés par le modèle. Plus la précision de la prédiction des tendances est élevée (plus elle est proche de 1), plus le modèle est capable d'identifier correctement les éléments de tendance.

Pour calculer l'accélération de la popularité, Amazon Personalize divise le taux d'augmentation de la popularité de tous les articles recommandés par l'augmentation de popularité totale des 25 articles les plus populaires. Ces éléments proviennent des interactions réelles dans le kit de test.

En fonction de la distribution de vos données et de la fréquence de découverte des tendances que vous choisissez, la valeur de précision de la prévision des tendances peut être de 0,0.

hit (hit at K)

Si vous avez entraîné la version de la solution à l'aide d'une recette USER_SEGMENTATION, le nombre moyen d'utilisateurs dans les K les plus pertinents prévus correspond aux utilisateurs réels. Les utilisateurs réels sont les utilisateurs qui ont réellement interagi avec les éléments du kit de test. K est le top 1 % des utilisateurs les plus pertinents. Plus la valeur est élevée, plus les prévisions sont précises.

rappel (rappel à K)

Si vous avez entraîné la version de la solution à l'aide d'une recette USER_SEGMENTATION, le pourcentage moyen d'utilisateurs prévus dans les K les plus pertinents prévus correspond aux utilisateurs réels. Les utilisateurs réels sont les utilisateurs qui ont réellement interagi avec les éléments du kit de test. K est le top 1 % des utilisateurs les plus pertinents. Plus la valeur est élevée, plus les prévisions sont précises.

rappel

Si vous entraînez une version de solution avec la recette Next-Best-Action, cette métrique vous indique dans quelle mesure votre version de solution détecte les actions avec lesquelles les utilisateurs interagiront.

Pour calculerrecall, pour chaque action de votre ensemble de données, Amazon Personalize divise le nombre d'utilisateurs correctement prédits pour effectuer l'action par le nombre total d'utilisateurs qui exécutent réellement l'action dans le kit de test. Amazon Personalize calcule ensuite la moyenne de toutes les actions de votre ensemble de données.

Par exemple, si 100 utilisateurs effectuent une action dans le kit de test et qu'Amazon Personalize prévoit que 50 de ces utilisateurs effectueront l'action, recall l'action est la suivante :50 / 100 = .50. Amazon Personalize applique ensuite ce calcul à toutes les actions et renvoie la moyenne.

Zone sous la courbe (AUC)

Si vous avez entraîné la version de la solution à l'aide d'une recette PERSONALIZED_ACTIONS, la zone située sous la courbe des caractéristiques de fonctionnement du récepteur pour la version de votre solution. Cette métrique indique dans quelle mesure la version de la solution parvient à identifier correctement les actions que les utilisateurs vont entreprendre.

La courbe des caractéristiques de fonctionnement du récepteur représente les performances de la version de la solution. Il trace les taux de vrais positifs (actions correctement prédites comme pertinentes) et de faux positifs (actions incorrectement prédites comme pertinentes) à différentes valeurs de seuil. L'aire sous la courbe (AUC) est un score qui résume les performances de la version de la solution en fonction de sa courbe.

L'AUC d'une version de solution peut être comprise entre 0 et 1. Plus la valeur est proche de 1, plus le modèle est capable de prévoir les actions pertinentes pour vos utilisateurs.

Exemple

Voici un exemple simple de version de solution qui produit une liste de recommandations pour un utilisateur spécifique. Les deuxième et cinquième recommandations correspondent aux enregistrements des données de test pour cet utilisateur. Voici les recommandations pertinentes. Si K est défini sur 5, les métriques suivantes sont générées pour l'utilisateur.

reciprocal_rank

Calcul : 1/2

Résultat : 0,5000

normalized_discounted_cumulative_gain_at_5

Calcul : (1/log(1 + 2) + 1/log(1 + 5)) / (1/log(1 + 1) + 1/log(1 + 2))

Résultat : 0,6241

precision_at_5

Calcul : 2/5

Résultat : 0,4000

Ressources supplémentaires

Pour plus d'informations sur l'évaluation d'une version de solution à l'aide de tests A/B, consultez Utiliser les tests A/B pour mesurer l'efficacité des recommandations générées par Amazon Personalize. Pour en savoir plus sur les différents types de métriques pour les systèmes de recommandation, consultez les ressources externes suivantes :