Partager via


Évaluer le générateur de recommandations

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Évalue la précision des prédictions du modèle effectuant des recommandations

catégorie : Machine Learning/évaluation

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module évaluer la recommandation dans Machine Learning Studio (classic) pour mesurer la précision des prédictions effectuées par un modèle de recommandation. Grâce à ce module, vous pouvez évaluer quatre types de recommandations différents :

  • Notations prédites pour un utilisateur et un élément donné

  • Éléments recommandés pour un utilisateur donné

  • Liste d'utilisateurs liés à un utilisateur donné

  • Liste d'éléments liés à un élément donné

Lorsque vous créez des prédictions à l’aide d’un modèle de recommandation, des résultats légèrement différents sont retournés pour chacun de ces types de prédictions pris en charge. Le module évaluer le recommandation déduit le type de prédiction à partir du format de colonne du jeu de données noté. Par exemple, le jeu de données noté peut contenir :

  • triples utilisateur-élément-notation
  • utilisateurs et leurs éléments recommandés
  • utilisateurs et leurs utilisateurs associés
  • éléments et leurs éléments associés

Le module applique également les métriques de performances appropriées, en fonction du type de prédiction effectué.

Conseil

Découvrez tout ce que vous devez savoir sur l’expérience de bout en bout de la création d’un système de recommandation dans ce didacticiel à partir de l’équipe de développement .NET. contient un exemple de code et une description de l’appel de Machine Learning à partir d’une application.

Génération du moteur de recommandation pour les applications .NET à l’aide de Machine Learning

Comment configurer Évaluer le générateur de recommandations

Le module Évaluer le générateur de recommandations compare les prédictions générées par un modèle de recommandation avec les données « réelles » correspondantes. Par exemple, le module score Matchbox recommender génère des jeux de données notés qui peuvent être analysés avec l’évaluation de la recommandation.

Configuration requise

Évaluer le conseiller requiert les jeux de données suivants comme entrée.

Jeu de données de test

Le jeu de données de test contient les données de « vérité à la terre » sous la forme de triplets utilisateur-élément-évaluation.

Si vous disposez déjà d’un jeu de données contenant des triplets utilisateur-élément-évaluation, vous pouvez appliquer le module fractionner les données à l’aide de l’option RecommenderSplit pour créer un jeu de données d’apprentissage et un jeu de test associé à partir du DataSet existant.

Jeu de données noté

Le jeu de données noté contient les prédictions générées par le modèle de recommandation.

Les colonnes de ce second jeu de données dépendent du type de prédiction que vous exécutiez pendant la notation. Par exemple, le jeu de données noté peut contenir l’un des éléments suivants :

  • Utilisateurs, éléments et notations que l’utilisateur peut vouloir associer à l’élément
  • Liste des utilisateurs et des éléments recommandés pour ceux-ci
  • Une liste d’utilisateurs, avec des utilisateurs qui sont probablement similaires
  • Une liste d’éléments, ainsi que des éléments smiliar

Mesures

Les métriques de performances du modèle sont générées en fonction du type d’entrée. Pour plus de détails, consultez ces sections :

Évaluer les notations prédites

Lors de l’évaluation de notations prédites, le jeu de données noté (la deuxième entrée de Évaluer le générateur de recommandations) doit contenir des triples utilisateur-élément-notation répondant aux exigences suivantes :

  • La première colonne du jeu de données contient des identificateurs d’utilisateur.

  • La deuxième colonne contient les identificateurs d’élément.

  • La troisième colonne contient les notations utilisateur-élément correspondantes.

Important

Pour que l’évaluation aboutisse, les noms de colonnes doivent être User, Item et Rating, respectivement.

Évaluer le générateur de recommandations compare les notations dans le jeu de données réelles aux notations prédites du jeu de données noté, puis calcule l’erreur absolue moyenne (MAE) et la racine carrée de l’erreur quadratique moyenne (RMSE).

Les autres paramètres de Evaluate recommandant n’ont aucun effet sur l’évaluation des prédictions d’évaluation.

Évaluer les recommandations d’éléments

Lors de l’évaluation d’une recommandation d’élément, utilisez un jeu de données noté incluant les éléments recommandés pour chaque utilisateur :

  • La première colonne du jeu de données contient l’identificateur d’utilisateur.

  • Toutes les colonnes suivantes doivent contenir les identificateurs d’éléments recommandés correspondants, classés selon la pertinence d’un élément par rapport à l’utilisateur.

    Avant de connecter ce jeu de données, nous vous recommandons de trier le jeu de données afin que les éléments les plus pertinents soient en premier.

Les autres paramètres de l’option évaluer le conseiller n’ont aucun effet sur l’évaluation des recommandations d’éléments.

Important

Pour que l’évaluation de l' évaluation fonctionne, les noms de colonne doivent être User , Item 1 , Item 2 , Item 3 et ainsi de suite.

L' évaluation du conseiller calcule le gain cumulatif à prix réduit normalisé normalisé (NDCG) et le retourne dans le jeu de données de sortie.

Étant donné qu’il est impossible de connaître les notations « réelles » des éléments recommandés, Évaluer le générateur de recommandations utilise les notations utilisateur-élément dans le jeu de données de test en tant que gains dans le calcul du NDCG. Pour évaluer, le module d’évaluation du générateur de recommandations doit uniquement produire des recommandations pour les éléments comprenant des notations réelles (dans le jeu de données de test).

Évaluer les prédictions des utilisateurs associés

Lors de l’évaluation des prédictions des utilisateurs associés, utilisez un jeu de données noté qui contient les utilisateurs associés pour chaque utilisateur concerné :

  • La première colonne doit contenir les identificateurs pour chaque utilisateur qui vous intéresse.

  • Toutes les colonnes suivantes contiennent les identificateurs des utilisateurs associés prédits. Les utilisateurs associés sont classés en fonction de la force du realtionship (l’utilisateur le plus lié en premier).

  • Pour que l’évaluation de l' évaluation fonctionne, les noms de colonne doivent être User , Related User 1 , Related User 2Related User 3 ,, et ainsi de suite.

Conseil

Vous pouvez influencer l'évaluation en définissant le nombre minimal d'éléments qu'un utilisateur objet d'intérêt et ses utilisateurs liés doivent avoir en commun.

Le module Evaluate Recommender calcule le gain cumulatif à prix réduit normalisé (NDCG) moyen, basé respectivement sur une distance de Manhattan (L1 Sim NDCG) et une distance euclidienne (L2 Sim NDCG), puis renvoie les deux valeurs dans le jeu de données de sortie. Étant donné qu’il n’y a pas de vérité au sol réel pour les utilisateurs associés, Evaluate recommandant utilise la procédure suivante pour calculer le nombre moyen de ndcg.

Pour chaque utilisateur objet d'intérêt dans le jeu de données au score calculé, le module :

  1. recherche tous les éléments du jeu de données de test qui ont été évalués par l'utilisateur objet d'intérêt et l'utilisateur lié envisagé ;

  2. Créez deux vecteurs à partir des évaluations de ces éléments : un pour l’utilisateur concerné, et un pour l’utilisateur concerné en considération.

  3. calcule le gain en tant que similarité des deux vecteurs d'évaluation obtenus, en termes de distance de Manhattan (L1) ou de distance euclidienne (L2) ;

  4. calcule les valeurs L1 Sim NDCG et L2 Sim NDCG, en utilisant les gains de tous les utilisateurs liés.

  5. Moyenne des valeurs NDCG sur tous les utilisateurs dans le jeu de données noté.

En d’autres termes, le gain est calculé comme la similarité (distances de euclidienne et de normalisées) entre un utilisateur d’intérêt (l’entrée de la première colonne du jeu de données noté) et un utilisateur associé donné (l’entrée dans la n-ième colonne du jeu de données noté). Le gain de cette paire d’utilisateurs est calculé à l’aide de tous les éléments pour lesquels les deux éléments ont été évalués dans les données d’origine (jeu de test). Le NDCG est ensuite calculé en agrégeant les gains individuels pour un seul utilisateur d’intérêt et tous les utilisateurs associés, à l’aide d’une remise logarithmique. Autrement dit, une valeur NDCG est calculée pour chaque utilisateur d’intérêt (chaque ligne dans le jeu de données noté). Le nombre qui est enfin signalé est la moyenne arithmétique sur tous les utilisateurs intéressants dans le jeu de données noté (c’est-à-dire ses lignes).

Pour procéder à l'évaluation, le module de calcul de score du générateur de recommandations doit prédire uniquement les utilisateurs liés qui ont des éléments associés à des évaluations réelles (dans le jeu de données de test).

Évaluer les prédictions d’éléments associés

Lors de l’évaluation de la prédiction d’éléments connexes, utilisez un jeu de données avec scores qui contient les éléments associés pour chaque élément d’intérêt :

  • La première colonne doit contenir des identificateurs pour les éléments intéressants.

  • Toutes les colonnes suivantes doivent contenir des identificateurs pour les éléments associés prédits, classés par la manière dont ils sont liés à l’élément d’intérêt (l’élément le plus lié en premier).

  • Pour que l’évaluation de l' évaluation fonctionne, les noms de colonne doivent être Item , Related Item 1 , Related Item 2Related Item 3 ,, et ainsi de suite.

Conseil

Vous pouvez influencer l'évaluation en définissant le nombre minimal d'utilisateurs qu'un élément objet d'intérêt et ses éléments liés doivent avoir en commun.

L' évaluation du conseiller calcule le gain cumulé normalisé normalisé (NDCG) basé sur les distances de Manhattan (L1 SIM NDCG) et de euclidienne (L2 SIM NDCG) et retourne les deux valeurs dans le jeu de données de sortie. Étant donné qu’il n’y a pas de vérité au sol réel pour les éléments connexes, Evaluate Recommendation calcule la moyenne des ndcg comme suit :

Pour chaque élément objet d'intérêt dans le jeu de données au score calculé, le module :

  1. recherche tous les utilisateurs du jeu de données de test qui ont évalués l'élément objet d'intérêt et l'élément lié envisagé ;

  2. crée deux vecteurs à partir des évaluations de ces utilisateurs, l'un pour l'élément objet d'intérêt et l'autre pour l'élément lié envisagé ;

  3. calcule le gain en tant que similarité des deux vecteurs d'évaluation obtenus, en termes de distance de Manhattan (L1) ou de distance euclidienne (L2) ;

  4. calcule les valeurs L1 Sim NDCG et L2 Sim NDCG, en utilisant les gains de tous les éléments liés.

  5. Moyenne des valeurs NDCG sur tous les éléments intéressants dans le jeu de données noté.

En d’autres termes, le gain est calculé comme la similarité (distances de euclidienne et de normalisées) entre un élément d’intérêt (l’entrée de la première colonne du jeu de données noté) et un élément connexe donné (l’entrée dans la n-ième colonne du jeu de données noté). Le gain de cette paire d’éléments est calculé à l’aide de tous les utilisateurs qui ont évalué ces deux éléments dans les données d’origine (jeu de test). Le NDCG est ensuite calculé en agrégeant les gains individuels pour un seul élément d’intérêt et tous ses éléments connexes, à l’aide de la remise logarithmique. Autrement dit, une valeur NDCG est calculée pour chaque élément d’intérêt (chaque ligne dans le jeu de données noté). Le nombre qui est enfin signalé est la moyenne arithmétique sur tous les éléments intéressants dans le jeu de données noté (c’est-à-dire ses lignes).

Par conséquent, pour évaluer, le module de calcul de score de recommandation doit uniquement prédire les éléments associés avec des évaluations de vérité au sol (dans le jeu de données de test).

Exemples

pour obtenir des exemples d’utilisation des modèles de recommandation dans Machine Learning, consultez la Azure AI Gallery:

Entrées attendues

Nom Type Description
Jeu de données de test Table de données Jeu de données de test
Jeu de données noté Table de données Jeu de données noté

Paramètres du module

Nom Plage Type Default Description
Nombre minimal d'éléments que l'utilisateur de la requête et l'utilisateur connexe doivent avoir tous deux évalué >=1 Integer 2 Spécifier le nombre minimal d'éléments qui doit avoir été évalués à la fois par l'utilisateur de la requête et l'utilisateur connexe

Ce paramètre est facultatif.
Nombre minimal d'utilisateurs que l'élément de requête et l'élément connexe doivent avoir tous deux évalué >=1 Integer 2 Spécifier le nombre minimal d'utilisateurs qui doivent avoir évalué à la fois l'élément de requête et l'élément connexe

Ce paramètre est facultatif.

Sorties

Nom Type Description
Métrique Table de données Une table des mesures d'évaluation

Exceptions

Exception Description
Erreur 0022 Une exception se produit si le nombre de colonnes sélectionnées dans le jeu de données en entrée n’est pas égal au nombre attendu.
Erreur 0003 Cette exception se produit si une ou plusieurs entrées sont null ou vide.
Erreur 0017 Une exception se produit si une ou plusieurs colonnes spécifiées présentent un type non pris en charge par le module actuel.
Erreur 0034 Une exception se produit s’il existe plusieurs classements pour une paire utilisateur-élément donnée.
Erreur 0018 Une exception se produit si le jeu de données d’entrée n’est pas valide.
Erreur 0002 Une exception se produit si un ou plusieurs paramètres n’ont pas pu être analysés ou convertis dans le type requis par le type de méthode cible.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Former la recommandation Matchbox
Noter la recommandation Matchbox