Choosing a recipe
When you create a custom solution, you specify a recipe and configure training parameters. Recipes are Amazon Personalize algorithms that are prepared for specific use cases. Amazon Personalize provides recipes, based on common use cases, for training models. When you create a solution version for the solution, Amazon Personalize trains the models backing the solution version based on the recipe and training configuration.
Amazon Personalize recipes use the following during training:
-
Predefined attributes of your data
-
Predefined feature transformations
-
Predefined algorithms
-
Initial parameter settings for the algorithms
To optimize your model, you can override many of these parameters when you create a solution. For more information, see Hyperparameters and HPO.
Topics
- Amazon Personalize recipe types by use case
- Amazon Personalize recipes
- Viewing available Amazon Personalize recipes
- User-Personalization-v2 recipe
- User-Personalization recipe
- Trending-Now recipe
- Popularity-Count recipe
- Personalized-Ranking-v2 recipe
- Personalized-Ranking recipe
- Similar-Items recipe
- SIMS recipe
- Next-Best-Action recipe
- Item-Affinity recipe
- Item-Attribute-Affinity recipe
- Legacy HRNN recipes
Amazon Personalize recipe types by use case
To choose your recipe, first choose your use case from the following and note its corresponding recipe type.
-
Recommending items for users (USER_PERSONALIZATION recipes)
To provide personalized recommendations for your users, train your model with a USER_PERSONALIZATION recipe. Personalized recommendations help drive better engagement and conversion.
-
Ranking items for a user (PERSONALIZED_RANKING recipes)
To personalize the order of curated lists or search results for your users, train your model with a PERSONALIZED_RANKING recipe. PERSONALIZED_RANKING recipes create a personalized list by re-ranking a collection of input items based on predicted interest level for a given user. Personalized lists improve the customer experience and increase customer loyalty and engagement.
-
Recommending trending or popular items (POPULAR_ITEMS recipes)
To recommend trending or popular items use a POPULAR_ITEMS recipe. You might use a POPULAR_ITEMS if your customers highly value what other users are interacting with. Common uses include recommending viral social media content, breaking news articles, or recent sports videos.
-
Recommending similar items (RELATED_ITEMS recipes)
To recommend similar items, such as items frequently bought together or movies that other users have also watched, you should use a RELATED_ITEMS recipe. Recommending similar items can help your customers discover items and can increase user conversion rate.
-
Recommending the next best action (PERSONALIZED_ACTIONS recipes)
To recommend the next best action for your users in real time, such as signing up for your loyalty program or applying for a credit card, you should use a PERSONALIZED_ACTIONS recipe. Recommending the next best action can increase customer loyalty, generate more revenue, and improve your users' experience.
-
Getting user segments (USER_SEGMENTATION recipes)
To get segments of users based on item input data, such as users who will most likely interact with items with a certain attribute, you should use a USER_SEGMENTATION recipe. Getting user segments can help you create advanced marketing campaigns that promote different items to different user segments based on the likelihood that they will take an action.
Amazon Personalize recipes
Amazon Personalize provides the following types of recipes. Besides behavioral differences, each type has different requirements for getting recommendations, as shown in the following table.
Recipe type | Recipes | API | API requirements |
---|---|---|---|
USER_PERSONALIZATION | GetRecommendations |
|
|
POPULAR_ITEMS | GetRecommendations |
|
|
PERSONALIZED_RANKING | GetPersonalizedRanking |
|
|
RELATED_ITEMS | GetRecommendations |
|
|
PERSONALIZED_ACTIONS | GetActionRecommendations |
|
|
USER_SEGMENTATION | CreateBatchSegmentJob |
For batch workflow requirements, see Getting user segments with a batch segment job. |
Viewing available Amazon Personalize recipes
To see a list of available recipes:
-
In the Amazon Personalize console, choose a dataset group. From the navigation pane, choose Solutions and recipes, and choose the Recipes tab.
-
With the AWS SDK for Python (Boto3), call the ListRecipes API.
-
With the AWS CLI, use the following command.
aws personalize list-recipes
To get information about a recipe using the SDK for Python (Boto3), call the DescribeRecipe API. To get information about a recipe using the AWS CLI, use the following command.
aws personalize describe-recipe --recipe-arn
recipe_arn