本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建解决方案
您可以使用 Amazon Personalize 控制台创建自定义解决方案, Amazon Command Line Interface (Amazon CLI) 或 Amazon SDKs。下面包括使用 Amazon Personalize 控制台创建解决方案的详细步骤,还包括了代码示例,用于演示如何创建仅包含必需字段的解决方案。
创建解决方案(控制台)
重要
默认情况下,所有新解决方案都使用自动训练。如果使用自动训练,则在解决方案处于活动状态时,就会产生训练费用。为避免产生不必要的费用,在完成后,可以更新解决方案以关闭自动训练。有关训练费用的信息,请参阅 Amazon Personalize 定价
要在控制台中创建解决方案,请选择您的数据集组,然后指定解决方案名称、配方和可选的训练配置。
配置解决方案(控制台)
-
在https://console.aws.amazon.com/personalize/家
中打开 Amazon Personalize 控制台,然后登录您的账户。 -
在数据集组页面,选择您的数据集组。
-
在概览页面上,对于步骤 3,执行以下任一操作:
-
如果您创建了域数据集组,请选择使用自定义资源,然后选择创建解决方案。
-
如果您创建了自定义数据集组,则选择创建解决方案。
-
-
对于解决方案名称,为您的解决方案指定名称。
-
对于解决方案类型,选择要创建的解决方案类型。您选择的类型决定了可用的配方。
-
选择物品建议,以便为用户获取物品建议。例如,个性化的电影建议。
-
选择操作建议,以便为用户获取操作建议。例如,为用户生成下一个最佳操作,例如下载您的应用程序。
-
选择用户细分,以根据您的物品数据获取用户细分(用户组)。
-
-
对于食谱,选择一个食谱(请参阅选择食谱)。
-
对于标签,可以选择添加任何标签。有关标记 Amazon Personalize 资源的更多信息,请参阅为 Amazon Personalize 资源添加标签。
-
选择下一步。
-
在训练配置页面上,自定义解决方案以满足您的业务需求。
-
在自动训练中,选择解决方案是否使用自动训练。如果使用了自动训练,则可以更改
Automatic training frequency
。默认训练频率为每 7 天一次。建议使用自动训练。使用自动训练后,您就可以更轻松地维护推荐相关性。训练频率取决于业务需求、所使用的配方以及导入数据的频率。有关更多信息,请参阅 配置自动训练。有关维护相关性的信息,请参阅维护建议相关性。
-
在超参数配置中,根据您的配方和业务需求配置任何超参数选项。使用不同超级参数的不同食谱。有关可用的超参数,请参阅选择食谱中的各个配方。
-
在用于训练的列中,如果您的配方生成了物品推荐或用户细分,则可以选择在创建解决方案版本时 Amazon Personalize 考虑的列。有关更多信息,请参阅 配置训练时使用的列。
-
在其他配置中,如果您的商品互动数据集有 EVENT _ TYPE 或同时有 EVENT _ TYPE 和 EVENT _ VALUE 列,则可以选择使用事件类型和事件值阈值字段来选择 Amazon Personalize 在训练模型时使用的商品互动数据。有关更多信息,请参阅 选择用于训练的物品交互数据。
-
如果您使用 User-Personalization 食谱或 Personalized-Ranking 食谱食谱,则可以选择指定目标并选择目标灵敏度,以便在相关性之外针对目标优化您的解决方案。目标敏感度配置了 Amazon Personalize 如何在基于目标推荐物品与根据交互数据确定的相关性来推荐物品之间取得平衡。有关更多信息,请参阅 针对其他目标优化解决方案。
-
-
选择下一步,并查看解决方案详细信息。创建解决方案后,就不能更改其配置。
-
选择创建解决方案。创建解决方案后,Amazon Personalize 将在一小时内开始创建第一个解决方案版本。训练开始后,可以在解决方案详细信息页面的解决方案版本部分监控训练。自动创建的解决方案版本的训练类型为AUTOMATIC。
解决方案版本发布后ACTIVE,您就可以用它来获取建议了。如何使用活跃解决方案版本取决于获取建议的方式:
要获得实时推荐,您可以通过 Amazon Personalize 活动部署ACTIVE解决方案版本。您可以使用该市场活动为用户获取建议。请参阅 通过市场活动部署 Amazon Personalize 解决方案版本。
-
对于批量建议,您可以在创建批量推理作业或批处理区段作业时指定ACTIVE解决方案版本。请参阅获取批量物品推荐或获取批量用户细分。
创建解决方案 (Amazon CLI)
重要
默认情况下,所有新解决方案都使用自动训练。如果使用自动训练,则在解决方案处于活动状态时,就会产生训练费用。为避免产生不必要的费用,在完成后,可以更新解决方案以关闭自动训练。有关训练费用的信息,请参阅 Amazon Personalize 定价
要使用创建解决方案 Amazon CLI,请使用create-solution
命令。此命令使用该CreateSolutionAPI操作。以下代码展示了如何创建使用自动训练的解决方案。该解决方案每五天自动创建一个新的解决方案版本。
要使用代码,请对其进行更新以为解决方案命名,指定数据集组的 Amazon 资源名称 (ARN),可以选择更改训练频率,并指定要使用的配方。ARN有关配方的信息,请参阅选择食谱。
aws personalize create-solution \ --name
solution name
\ --dataset-group-arndataset group ARN
\ --recipe-arnrecipe ARN
\ --perform-auto-training \ --solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(5 days)\"}}"
-
我们建议您使用自动训练。使用自动训练后,您就可以更轻松地维护和改进推荐相关性。默认情况下,所有新解决方案都使用自动训练。默认训练频率为每 7 天一次。训练频率取决于业务需求、所使用的配方以及导入数据的频率。有关更多信息,请参阅 配置自动训练。
-
根据您的配方,您可以修改代码来配置配方特定的属性和超参数(请参阅超参数和 HPO),配置用于训练的列(请参阅配置训练时使用的列 (Amazon CLI)),或者筛选用于训练的物品交互数据(请参阅选择用于训练的物品交互数据)。
-
如果您使用 User-Personalization 食谱或 Personalized-Ranking 食谱配方,则除了相关性之外,还可以针对目标优化解决方案。有关更多信息,请参阅 针对其他目标优化解决方案。
创建解决方案后,记录解决方案ARN以备将来使用。通过自动训练,解决方案版本的创建将在解决方案发布后的一小时内开始ACTIVE。如果您在一小时内手动创建解决方案版本,则解决方案会跳过第一次自动训练。训练开始后,您可以通过ListSolutionVersionsAPI操作获取解决方案版本的 Amazon 资源名称 (ARN)。要获取其状态,请使用DescribeSolutionVersionAPI操作。
解决方案版本发布后ACTIVE,您就可以用它来获取建议了。如何使用活跃解决方案版本取决于获取建议的方式:
要获得实时推荐,您可以通过 Amazon Personalize 活动部署ACTIVE解决方案版本。您可以使用该市场活动为用户获取建议。请参阅 通过市场活动部署 Amazon Personalize 解决方案版本。
-
对于批量建议,您可以在创建批量推理作业或批处理区段作业时指定ACTIVE解决方案版本。请参阅获取批量物品推荐或获取批量用户细分。
创建解决方案 (Amazon SDKs)
重要
默认情况下,所有新解决方案都使用自动训练。如果使用自动训练,则在解决方案处于活动状态时,就会产生训练费用。为避免产生不必要的费用,在完成后,可以更新解决方案以关闭自动训练。有关训练费用的信息,请参阅 Amazon Personalize 定价
要使用创建解决方案 Amazon SDKs,请使用CreateSolutionAPI操作。以下代码展示了如何创建使用自动训练的解决方案。该解决方案每五天自动创建一个新的解决方案版本。
要使用代码,请对其进行更新以为解决方案命名,指定数据集组的 Amazon 资源名称 (ARN),可以选择更改训练频率,然后指定要使用的配方。ARN有关配方的信息,请参阅选择食谱。
-
我们建议您使用自动训练。使用自动训练后,您就可以更轻松地维护和改进推荐相关性。默认情况下,所有新解决方案都使用自动训练。默认训练频率为每 7 天一次。训练频率取决于业务需求、所使用的配方以及导入数据的频率。有关更多信息,请参阅 配置自动训练。
-
根据您的配方,您可以修改代码来配置配方特定的属性和超参数(请参阅超参数和 HPO),配置用于训练的列(请参阅配置训练时使用的列 (Amazon SDKs)),或者筛选用于训练的物品交互数据(请参阅选择用于训练的物品交互数据)。
-
如果您使用 User-Personalization 食谱或 Personalized-Ranking 食谱配方,则除了相关性之外,还可以针对目标优化解决方案。有关更多信息,请参阅 针对其他目标优化解决方案。
创建解决方案后,记录解决方案ARN以备将来使用。通过自动训练,解决方案版本的创建将在解决方案发布后的一小时内开始ACTIVE。如果您在一小时内手动创建解决方案版本,则解决方案会跳过第一次自动训练。训练开始后,您可以通过ListSolutionVersionsAPI操作获取解决方案版本的 Amazon 资源名称 (ARN)。要获取其状态,请使用DescribeSolutionVersionAPI操作。
您可以使用以下 Python 代码来等待自动训练开始。该wait_for_training_to_start
方法返回第一个解决方案版本的。ARN
import time import boto3 def wait_for_training_to_start(new_solution_arn): max_time = time.time() + 3 * 60 * 60 # 3 hours while time.time() < max_time: list_solution_versions_response = personalize.list_solution_versions( solutionArn=new_solution_arn ) solution_versions = list_solution_versions_response.get('solutionVersions', []) if solution_versions: new_solution_version_arn = solution_versions[0]['solutionVersionArn'] print(f"Solution version ARN: {new_solution_version_arn}") return new_solution_version_arn else: print(f"Training hasn't started yet. Training will start within the next hour.") time.sleep(60) personalize = boto3.client('personalize') solution_arn = "
solution_arn
" solution_version_arn = wait_for_training_to_start(solution_arn)
解决方案版本发布后ACTIVE,您就可以用它来获取建议了。如何使用活跃解决方案版本取决于获取建议的方式:
要获得实时推荐,您可以通过 Amazon Personalize 活动部署ACTIVE解决方案版本。您可以使用该市场活动为用户获取建议。请参阅 通过市场活动部署 Amazon Personalize 解决方案版本。
-
对于批量建议,您可以在创建批量推理作业或批处理区段作业时指定ACTIVE解决方案版本。请参阅获取批量物品推荐或获取批量用户细分。