Évaluer l’importance des fonctionnalités

Vous pouvez évaluer l’importance de chaque fonctionnalité pour le modèle Machine Learning de Personalizer en effectuant une évaluation des fonctionnalités sur vos données de journal historiques. Les évaluations de fonctionnalités sont utiles pour :

  • Comprendre les fonctionnalités les plus ou les moins importantes pour le modèle.
  • Brainstormer des fonctionnalités supplémentaires qui peuvent être utiles à l’apprentissage, en tirant l’inspiration des fonctionnalités actuellement importantes dans le modèle.
  • Identifiez les fonctionnalités potentiellement non importantes ou non utiles qui doivent être prises en compte pour une analyse ou une suppression plus approfondie.
  • Résolvez les problèmes courants et les erreurs qui peuvent se produire lors de la conception de fonctionnalités et de leur envoi à Personalizer. Par exemple, l’utilisation de GUID, d’horodatages ou d’autres fonctionnalités généralement éparses peut être problématique. Découvrez plus d'informations sur l'amélioration des modèles.

Qu’est-ce qu’une évaluation des fonctionnalités ?

Les évaluations des fonctionnalités sont effectuées en formant et en exécutant une copie de votre configuration de modèle actuelle sur les données de journal historiquement collectées pendant une période spécifiée. Les fonctionnalités sont ignorées une par une pour mesurer la différence de performances du modèle avec et sans chaque fonctionnalité. Étant donné que les évaluations des fonctionnalités sont effectuées sur des données historiques, il n’y a aucune garantie que ces modèles seront observés dans les données futures. Toutefois, ces informations peuvent toujours être pertinentes pour les données futures si vos données journalisées ont capturé une variabilité suffisante ou des propriétés non stationnaires de vos données. Les performances de votre modèle actuel ne sont pas affectées par l’exécution d’une évaluation des fonctionnalités.

Un score d’importance d’une fonctionnalité est une mesure de l’impact relatif de la fonctionnalité sur la récompense au cours de la période d’évaluation. Les scores d’importance des fonctionnalités sont un nombre compris entre 0 (le moins important) et 100 (le plus important) et sont indiqués dans l’évaluation des fonctionnalités. Étant donné que l’évaluation est exécutée sur une période spécifique, l’importance des fonctionnalités peut changer à mesure que des données supplémentaires sont envoyées à Personalizer et que vos utilisateurs, scénarios et données changent au fil du temps.

Création d’une évaluation des fonctionnalités

Pour obtenir des scores d’importance des fonctionnalités, vous devez créer une évaluation des fonctionnalités sur une période de données journalisées afin de générer un rapport contenant les scores d’importance des fonctionnalités. Ce rapport est visible dans le Portail Azure. Pour créer une évaluation des fonctionnalités :

  1. Accédez au site Azure à la place
  2. Sélectionner votre ressource Personalizer
  3. Sélectionnez la section Surveiller dans le volet de navigation latéral
  4. Sélectionnez l’onglet Fonctionnalités
  5. Sélectionnez « Créer un rapport » et un nouvel écran doit apparaître
  6. Entrez un nom pour votre rapport
  7. Choisir les heures de début et de fin de votre période d’évaluation
  8. Sélectionnez « Create report »

Capture d’écran montrant comment créer une évaluation des fonctionnalités dans votre ressource Personalizer en cliquant sur le panneau « Surveiller », sur l’onglet « Fonctionnalité », puis sur « Créer un rapport ».

Capture d’écran montrant dans la fenêtre de création et comment remplir les champs de votre rapport, y compris le nom, la date de début et la date de fin.

Ensuite, le nom de votre rapport doit apparaître dans le tableau des rapports ci-dessous. La création d’une évaluation des fonctionnalités est un processus de longue durée, où le délai d’achèvement dépend du volume de données envoyées à Personalizer pendant la période d’évaluation. Pendant la génération du rapport, la colonne État indique « En cours d’exécution » pour votre évaluation et passe à « Réussi » une fois terminé. Vérifiez régulièrement si votre évaluation est terminée.

Vous pouvez exécuter plusieurs évaluations de fonctionnalités sur différentes périodes de temps pendant lesquelles votre ressource Personalizer contient des données de journal. Assurez-vous que votre période de conservation des données est suffisamment longue pour vous permettre d’effectuer des évaluations sur des données plus anciennes.

Interprétation des scores d’importance des fonctionnalités

Fonctionnalités avec un score d’importance élevé

Les fonctionnalités ayant des scores d’importance plus élevés ont eu plus d’influence sur le modèle pendant la période d’évaluation que les autres fonctionnalités. Les fonctionnalités importantes peuvent être une source d’inspiration pour la conception de fonctionnalités supplémentaires à inclure dans le modèle. Par exemple, si vous voyez que les fonctionnalités de contexte « IsWeekend » ou « IsWeekday » ont une importance élevée pour l’épicerie, il se peut que les jours fériés ou les longs week-ends puissent également être des facteurs importants. Vous pouvez donc envisager d’ajouter des fonctionnalités qui capturent ces informations.

Fonctionnalités avec un score d’importance faible

Les fonctionnalités avec des scores d’importance faible sont de bons candidats pour une analyse plus approfondie. Toutes les fonctionnalités de notation faible ne sont pas nécessairement mauvaises ou non utiles, car de faibles scores peuvent se produire pour une ou plusieurs raisons. La liste ci-dessous peut vous aider à commencer à analyser pourquoi vos fonctionnalités peuvent avoir de faibles scores :

  • La caractéristique a rarement été observée dans les données au cours de la période d’évaluation.

    • Si le nombre d’occurrences de cette fonctionnalité est faible par rapport à d’autres fonctionnalités, cela peut indiquer que cette fonctionnalité n’était pas assez souvent présente pour que le modèle détermine si elle est utile ou non.
  • Les valeurs de fonctionnalité n’avaient pas beaucoup de diversité ou de variation.

    • Si le nombre de valeurs uniques pour cette fonctionnalité est inférieur à ce que vous attendez, cela peut indiquer que la fonctionnalité n’a pas beaucoup varié au cours de la période d’évaluation et ne fournit pas d’informations significatives.
  • Les valeurs des fonctionnalités étaient trop bruyantes (aléatoires) ou trop distinctes et fournissaient peu de valeur.

    • Vérifiez le Nombre de valeurs uniques dans votre évaluation des fonctionnalités. Si le nombre de valeurs uniques pour cette fonctionnalité est supérieur à ce que vous attendiez ou élevé par rapport à d’autres fonctionnalités, cela peut indiquer que la fonctionnalité a été trop bruyante pendant la période d’évaluation.
  • Il existe un problème de mise en forme ou de données.

    • Vérifiez que les fonctionnalités sont mises en forme et envoyées à Personalizer comme prévu.
  • La fonctionnalité peut ne pas être utile pour modéliser l’apprentissage et les performances si le score de fonctionnalité est faible et les raisons ci-dessus ne s’appliquent pas.

    • Envisagez de supprimer la fonctionnalité, car elle n’aide pas votre modèle à maximiser la récompense moyenne.

La suppression de fonctionnalités avec des scores d’importance faible peut aider à accélérer l’apprentissage du modèle en réduisant la quantité de données nécessaires à l’apprentissage. Il peut également améliorer les performances du modèle. Toutefois, cela n’est pas garanti et une analyse plus approfondie peut être nécessaire. En savoir plus sur la conception de fonctionnalités de contexte et d’action.

Problèmes courants et étapes pour améliorer les fonctionnalités

  • Envoi de cardinalités avec une cardinalité élevée. Les fonctionnalités avec une cardinalité élevée sont celles qui ont de nombreuses valeurs distinctes qui ne sont pas susceptibles de se répéter sur de nombreux événements. Par exemple, les informations d’identification personnelle qui sont spécifiques à une personne (comme le nom, le numéro de téléphone, le numéro de carte de crédit, l’adresse IP) ne doivent pas être utilisées dans Personalizer.

  • Envoi d’ID utilisateur Avec un grand nombre d’utilisateurs, il est peu probable que ces informations soient pertinentes pour l’apprentissage de Personalizer pour optimiser le score de récompense moyen. L’envoi d’ID utilisateur (même s’il ne s’agit pas d’informations personnelles) ajoutera probablement davantage de bruit au modèle et n’est pas recommandé.

  • Les fonctionnalités sont trop éparses. Les valeurs sont distinctes et se produisent rarement plus de quelques fois. Les horodatages précis jusqu’à la seconde peuvent être très clairsemés. Il peut être rendu plus dense (et donc efficace) en regroupant les heures « matin », « midi » ou « après-midi », par exemple.

En général, la création de classifications plus larges est bénéfique pour les informations d’emplacement. Par exemple, des coordonnées de latitude et longitude telles que Lat : 47,67402° N, Long : 122,12154° O est trop précis et force le modèle à apprendre la latitude et la longitude en tant que dimensions distinctes. Lorsque vous essayez de personnaliser en fonction d’informations d’emplacement, il est utile de regrouper celles-ci dans des secteurs plus grands. Pour ce faire, une méthode aisée consiste à choisir une précision d’arrondi appropriée pour les valeurs de latitude et longitude, et de combiner celles-ci en « zones » dans une seule chaîne. Par exemple, un bon moyen de représenter 47,67402° N, long : 122,12154° O dans des régions approximatives de quelques kilomètres de large, est « Location » : « 34.3, 12,1 ».

  • Développer les ensembles de caractéristiques avec des informations extrapoléesVous pouvez également obtenir plus de caractéristiques en considérant des attributs non explorés qui peuvent être dérivés d’informations que vous avez déjà. Par exemple, dans la personnalisation d’une liste de films fictive, est-il possible que le weekend et les jours de semaine suscitent un comportement différent des utilisateurs ? Les dates/heures peuvent être étendues avec un attribut « weekend » ou « semaine ». Les jours fériés nationaux entraînent-ils une attention particulière pour certains types de films ? Par exemple, un attribut « Halloween » est utile dans les endroits où il est approprié. Est-il possible qu’un temps pluvieux ait un impact significatif sur le choix d’un film pour de nombreuses personnes ? Avec le moment et le lieu, un service météo peut fournir ces informations, que vous pouvez ajouter comme caractéristique supplémentaire.

Étapes suivantes

Analysez les performances des stratégies avec une évaluation hors connexion avec Personalizer.