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.
Optimisation d'une solution pour un objectif supplémentaire
Important
Par défaut, toutes les nouvelles solutions utilisent l'entraînement automatique. Avec la formation automatique, vous encourez des frais de formation pendant que votre solution est active. Pour éviter des coûts inutiles, lorsque vous avez terminé, vous pouvez mettre à jour la solution pour désactiver l'entraînement automatique. Pour plus d'informations sur les coûts de formation, consultez la tarification d'Amazon Personalize
Si vous utilisez la recette de personnalisation utilisateur ou la recette de classement personnalisé, vous pouvez optimiser une solution Amazon Personalize en fonction d'un objectif en plus d'une pertinence maximale, comme la maximisation des revenus.
Avec les recettes de recommandation d'articles, l'objectif principal d'Amazon Personalize est de prévoir les articles les plus pertinents pour vos utilisateurs sur la base de données historiques et en temps réel sur les interactions entre articles. Il s'agit des éléments avec lesquels vos utilisateurs sont les plus susceptibles d'interagir (par exemple, les éléments sur lesquels ils seront le plus susceptibles de cliquer). Si vous avez un objectif supplémentaire, tel que la maximisation des minutes de streaming ou l'augmentation des revenus, vous pouvez créer une solution qui génère des recommandations basées à la fois sur la pertinence et sur votre objectif.
Pour optimiser une solution pour un objectif supplémentaire, créez une nouvelle solution à l'aide de la recette de personnalisation utilisateur ou de la recette de classement personnalisé et choisissez la colonne de métadonnées numériques de votre jeu de données d'articles qui est liée à votre objectif. Lors de la génération de recommandations, Amazon Personalize accorde plus d'importance aux éléments présentant des valeurs plus élevées pour cette colonne de données. Par exemple, vous pouvez choisir une LENGTH colonne VIDEO _ pour maximiser les minutes de diffusion ou une PRICE colonne pour maximiser les revenus.
Vous pouvez utiliser la console Amazon Personalize, AWS Command Line Interface (AWS CLI), ou AWS SDKs. Pour plus d'informations sur l'utilisation de la console Amazon Personalize, consultezCréation d'une solution (console).
Rubriques
Directives et exigences
Les exigences objectives sont les suivantes :
-
Vous ne pouvez choisir qu'une seule colonne pour votre objectif.
-
La colonne doit avoir un type numérique dans votre schéma.
-
La colonne ne peut pas avoir de
null
type dans votre schéma.
Pour plus d'informations sur les schémas et les types de données, consultezCréation de JSON fichiers de schéma pour les schémas Amazon Personalize.
Équilibrer l'objectif, l'accent et la pertinence
Il peut y avoir un compromis lorsque vous recommandez des articles en fonction de votre objectif plutôt que de leur pertinence. Par exemple, si vous souhaitez augmenter vos revenus par le biais de recommandations, les recommandations portant uniquement sur des articles coûteux peuvent rendre les articles moins pertinents pour vos utilisateurs et réduire l'engagement et le taux de conversion des utilisateurs.
Pour configurer l'équilibre entre la pertinence et votre objectif, choisissez l'un des niveaux de sensibilité d'objectif suivants lorsque vous créez la solution :
-
Désactivé : Amazon Personalize utilise principalement les données relatives aux interactions avec les articles pour prévoir les articles les plus pertinents pour votre utilisateur.
-
Faible : Amazon Personalize met moins l'accent sur votre objectif. La pertinence des données relatives aux interactions entre les articles est plus importante.
-
Médium : Amazon Personalize met autant l'accent sur votre objectif que sur votre pertinence par le biais des données relatives aux interactions avec les articles.
-
Élevé : Amazon Personalize met davantage l'accent sur votre objectif. La pertinence des données relatives aux interactions entre les articles est moins importante.
Mesurer les performances d'optimisation
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 sur la génération de métriques, consultezÉvaluation d'une version de la solution Amazon Personalize à l'aide de métriques.
Optimisation d'une solution (AWS CLI)
Vous ne pouvez optimiser un objectif qu'à l'aide de la recette de personnalisation par l'utilisateur ou de classement personnalisé. Pour optimiser une solution pour un objectif supplémentaire à l'aide du AWS CLI, créez une nouvelle solution et spécifiez les détails de votre objectif à l'aide de la optimizationObjective
clé de l'solutionConfig
objet. optimizationObjective
comporte les champs suivants :
-
itemAttribute
: Spécifiez le nom de la colonne de métadonnées numériques du jeu de données Items associée à votre objectif. -
objectiveSensitivity
: Spécifiez le niveau d'importance que la solution met sur votre objectif lors de la génération de recommandations. Le niveau de sensibilité des objectifs configure la manière dont Amazon Personalize équilibre les recommandations d'articles en fonction de votre objectif par rapport à leur pertinence grâce aux données d'interaction entre les articles. IlsobjectiveSensitivity
peuvent êtreOFF
LOW,MEDIUM
ouHIGH
. Pour de plus amples informations, veuillez consulter Équilibrer l'objectif, l'accent et la pertinence.
Voici un exemple de create-solution
AWS CLI commande. Remplacez les recipe
arn
valeurs solution name
dataset group arn
, et par les vôtres.
PouroptimizationObjective
, remplacez-le COLUMN_NAME
par le nom de colonne de métadonnées numériques du jeu de données Items associé à votre objectif. PourobjectiveSensitivity
, spécifiez OFFLOW,MEDIUM, ouHIGH.
aws personalize create-solution \ --name
solution name
\ --dataset-group-arndataset group arn
\ --recipe-arnrecipe arn
\ --solution-config "{\"optimizationObjective\":{\"itemAttribute\":\"COLUMN_NAME
\",\"objectiveSensitivity\":\"MEDIUM
\"}}"
Lorsque votre solution est prête, créez une nouvelle version de solution (pour un exemple de commande, voirCréation d'une solution (AWS CLI)). Une fois que vous avez créé une version de solution, vous pouvez visualiser les performances d'optimisation à l'aide des métriques de version de solution. Consultez Mesurer les performances d'optimisation.
Optimisation d'une solution (AWS SDKs)
Vous ne pouvez optimiser un objectif qu'à l'aide de la recette de personnalisation par l'utilisateur ou de classement personnalisé.
Pour optimiser une solution pour un objectif supplémentaire à l'aide du AWS SDKs, créez une nouvelle solution et spécifiez les détails de votre objectif à l'aide de la optimizationObjective
clé de l'solutionConfig
objet correspondant à la solution. optimizationObjective
comporte les champs suivants :
-
itemAttribute
: Spécifiez le nom de la colonne de métadonnées numériques du jeu de données Items du groupe de données qui se rapporte à votre objectif. -
objectiveSensitivity
: Spécifiez le niveau d'importance que la solution met sur votre objectif lors de la génération de recommandations. Le niveau de sensibilité des objectifs configure la manière dont Amazon Personalize équilibre les recommandations d'articles en fonction de votre objectif par rapport à leur pertinence grâce aux données d'interaction entre les articles. IlsobjectiveSensitivity
peuvent êtreOFF
LOW
,MEDIUM
ouHIGH
. Pour de plus amples informations, veuillez consulter Équilibrer l'objectif, l'accent et la pertinence.
Utilisez le code suivant pour créer une solution avec un objectif supplémentaire avec le AWS SDK for Python (Boto3) ou le AWS SDK for Java 2.x.
Lorsque votre solution est prête, créez une nouvelle version de la solution (par exemple, voir le codeCréation d'une version de solution (AWS SDKs)). Une fois que vous avez créé une version de solution, vous pouvez visualiser les performances d'optimisation à l'aide des métriques de version de solution. Consultez Mesurer les performances d'optimisation.
Exemple de carnet Jupyter
Pour un exemple de bloc-notes Jupyter qui montre comment créer une solution optimisée pour des métadonnées d'article supplémentaires basées sur un objectif, consultez le dossier objective_optimization du référentiel