通过 CloudWatch Evidently 进行 A/B 测试 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过 CloudWatch Evidently 进行 A/B 测试

在创建推荐器或在市场活动中部署自定义解决方案版本后,您可以使用 Amazon Personalize 建议和 Amazon CloudWatch Evidently 执行 A/B 测试。以下视频介绍了通过 CloudWatch Evidently 和 Amazon Personalize 建议执行 A/B 测试的过程。如需分步指导,请参阅 通过 CloudWatch Evidently 执行 A/B 测试

通过 CloudWatch Evidently 执行 A/B 测试

要使用 Amazon Personalize 和 Amazon CloudWatch Evidently 执行 A/B 测试,请创建一个 CloudWatch Evidently 项目,定义一个特征及其变体,更新您的应用程序以支持您的实验,然后创建和运行实验。实验运行时,您可以在 CloudWatch Evidently 中查看结果。

使用 Amazon Personalize 和 CloudWatch Evidently 执行 A/B 测试
  1. 创建 CloudWatch Evidently 项目。项目是 CloudWatch 资源的逻辑分组。在项目中,您可以创建具有要测试或启动的变体的功能。有关分步说明,请参阅《Amazon CloudWatch 用户指南》中的创建新项目

  2. 向您的项目添加特征并定义其变体。在本实验中,您的特征应代表您要测试的建议场景,例如点击率。

    添加特征时,指定标识符,将场景的不同变体映射到 Amazon Personalize 推荐器或自定义市场活动。对于每个变体,指定变体类型,例如字符串,为变体命名,并为其指定一个值。

    当您的实验运行时,您的应用程序会使用变体的值来确定将哪个 Amazon Personalize 资源用于建议。例如,如果您要测试两个 VIDEO_ON_DEMAND 推荐器,一个针对热门精选 使用案例而创建,另一个针对当前趋势 使用案例而创建,则可以将以下 JSON 设置为每个变体的

    {"type":"top-picks-recommendations","arn":"arn:aws:personalize:us-west-2:<acct-id>:recommender/top-picks-recommender"}
    {"type":"trending-recommendations","arn":"arn:aws:personalize:us-west-2:<acct-id>:recommender/trending-now-recommender"}

    您可以指定任何标识符,只要您的应用程序可以使用它来标识相关资源即可。例如,您可以只指定推荐器或市场活动的名称,并在应用程序中构造资源的 Amazon 资源名称 (ARN)。

    有关添加特征的分步说明,请参阅《Amazon CloudWatch 用户指南》中的为项目添加新特征

  3. 更新应用程序以支持您的实验:

    • 特征评估 - 使用 CloudWatch Evidently EvaluateFeature API 操作为每个用户会话分配变体。EvaluateFeature 响应包含您在上一步中指定的变体值。在本例中,它是一个具有推荐器类型的 JSON 对象,也是推荐器的 ARN。更新您的建议请求代码,从此资源获取建议。

      有关评估特征的信息,请参阅《Amazon CloudWatch 用户指南》中的使用 EvaluateFeature

    • 记录结果 - 向您的应用程序添加代码,以跟踪用户与建议交互的结果。

      要在 CloudWatch Evidently 中跟踪您的实验指标,请使用 CloudWatch Evidently PutProjectEvents API 操作来记录每个用户的结果。例如,如果实验中的用户单击了建议的物品,则您可将该事件的详细信息发送给 CloudWatch Evidently。

      有关向 CloudWatch Events 发送事件的信息,请参阅《Amazon CloudWatch 用户指南》中的使用 PutProjectEvents

      为了提高 Amazon Personalize 建议相关性,您可以使用 Amazon Personalize PutEvents API 操作记录结果事件。如果您的域使用案例或自定义配方支持对建议进行实时更新,则 Amazon Personalize 可以从您用户的最新活动中学习,并在他们使用您的应用程序时更新建议。如果它不支持更新,则 Amazon Personalize 会在模型的下一次全面再训练期间使用这些数据,然后它会影响建议。

      有关将事件流式传输到 Amazon Personalize 的信息,请参阅记录事件

  4. 创建并开始实验。创建实验时,指定以下内容:

    • 特征 - 选择要在实验中测试的特征。

    • 受众 - 配置将有多少用户参与,并配置如何在特征变体之间分配流量。

    • 指标 - 指定决定实验成功的指标。例如,单击次数。

    创建完实验后,指定实验持续时间并开始实验。有关在 CloudWatch Evidently 中创建和开始实验的分步说明,请参阅《Amazon CloudWatch 用户指南》中的创建实验

  5. 运行实验时,您可以在 CloudWatch Evidently 实验控制面板中查看结果。有关查看实验结果的信息,请参阅《Amazon CloudWatch 用户指南》中的在控制面板中查看实验结果

示例实施

以下示例实施展示了如何使用 CloudWatch Evidently 实施 A/B 测试。