步骤 5:使用 ML 模型生成预测 - Amazon Machine Learning

我们不再更新 Amazon Machine Learning 服务,也不再接受新用户使用该服务。本文档可供现有用户使用,但我们不会再对其进行更新。有关更多信息,请参阅什么是 Amazon Machine Learning

步骤 5:使用 ML 模型生成预测

Amazon Machine Learning (Amazon ML) 可以生成两种类型的预测 — 批量和实时。

实时预测是 Amazon ML 按需生成的单个观察的预测。实时预测适用于移动应用程序、网站和其他需要以交互方式使用结果的应用程序。

批量预测是对一组观察的预测集。Amazon ML 在批量预测中将记录放在一起处理,因此处理可能需要一些时间。对于应用程序,如果需要的是对一组观察进行的预测或者无需交互使用结果的预测。

在本教程中,您将生成实时预测,预测一位潜在客户是否将订阅新产品。您还会为一大批潜在客户生成预测。对于批量预测,您将使用您在banking-batch.csv中上传的 步骤 1:准备数据 文件。

我们从实时预测开始。

注意

对于需要实时预测的应用程序,您必须为 ML 模型创建实时终端节点。在实时终端节点可用时,您会产生费用。在您承诺使用实时预测并开始产生与之相关的费用之前,您可以尝试在 Web 浏览器中使用实时预测功能,无需创建实时终端节点。这就是我们将在本教程中完成的操作。

尝试实时预测
  1. ML 模型报告导航窗格中,选择尝试实时预测

  2. 选择粘贴记录

  3. 粘贴记录对话框中,粘贴以下观察:

    32,services,divorced,basic.9y,no,unknown,yes,cellular,dec,mon,110,1,11,0,nonexistent,-1.8,94.465,-36.1,0.883,5228.1
  4. 粘贴记录对话框中,选择提交以确认您希望为此观察生成预测。Amazon ML 填充实时预测表单中的值。

    注意

    您还可以通过键入单个值来填充字段。不论选择哪种方法,您应提供未用于训练模型的观察。

  5. 在页面底部,选择创建预测

    预测显示在右侧的预测结果窗格中。此预测具有为 0预测标签,这意味着此潜在客户不太可能响应市场活动。预测标签1 意味着可能有可能响应市场活动。

现在,创建批量预测。您向 Amazon ML 提供所用 ML 模型的名称;希望为其生成预测的输入数据(Amazon ML 将从此数据创建批量预测数据源)的 Amazon Simple Storage Service (Amazon S3) 位置;用于存储结果的 Amazon S3 位置。

创建批量预测
  1. 选择 Amazon Machine Learning,然后选择批量预测

  2. 选择创建新批量预测

  3. 用于批量预测的 ML 模型页面上,选择ML 模型: 银行数据 1

    Amazon ML 显示 ML 模型名称、ID、创建时间以及关联的数据源 ID。

  4. 选择继续

  5. 要生成预测,您需要向 Amazon ML 提供所要进行预测的数据。这称为输入数据。首先,将输入数据移入数据源以便 Amazon ML 访问。

    对于找到输入数据,选择我的数据在 S3 中,并且我需要创建数据源

  6. 数据源名称 键入 Banking Data 2

  7. 对于 SS3 位置,键入 banking-batch.csv 文件的完整位置:your-bucket/banking-batch.csv

  8. 对于您的 CSV 中的第一行是否包含列名?,选择

  9. 选择验证

    Amazon ML 验证您数据的位置。

  10. 选择继续

  11. 对于 S3 目标,键入您在“步骤 1:准备您的数据”中上传文件到 Amazon S3 位置的名称。Amazon ML 将预测结果上传到这里。

  12. 对于批量预测名称,接受默认值 Batch prediction: ML model: Banking Data 1。Amazon ML 根据将用于创建预测的模型选择默认名称。在本教程中,模型和预测根据训练数据源 Banking Data 1 命名。

  13. 选择审核

  14. S3 权限对话框中,选择

  15. 审核页面上,选择完成

    批量预测请求发送到 Amazon ML 并进入队列中。Amazon ML 处理批量预测所用的时间取决于您数据源的大小以及 ML 模型的复杂性。Amazon ML 处理请求时,它将状态报告为正在进行。批量预测完成后,请求的状态更改为完成。现在,您可以查看结果。

查看预测
  1. 选择 Amazon Machine Learning,然后选择批量预测

  2. 在预测列表中,选择批量预测: ML 模型: 银行数据 1。此时显示批量预测信息页面。

  3. 要查看批量预测的结果,请转到 Amazon S3 控制台(网址为 https://console.aws.amazon.com/s3/)并导航到输出 S3 URL 字段中引用的 Amazon S3 位置。从该处导航到结果文件夹,其名称将类似于 s3://aml-data/batch-prediction/result

    预测存储在压缩的 .gzip 文件中,扩展名为 .gz。

  4. 下载预测文件到您的桌面,解压缩,然后打开它。

    该文件有两列 bestAnswerscore,数据源中的每个观察为一行。bestAnswer 列中的结果是基于您在步骤 4:查看 ML 模型的预测性能和设置分数阈值中设置的评分阈值 0.77。大于 0.77 的 score 会导致 bestAnswer 为 1,这是正向响应或预测,小于 0.77 的 score 会导致 bestAnswer 为 0,这是负向响应或预测。

    以下示例基于 0.77 的分数阈值显示正向和负向预测。

正向预测:

在此示例中,bestAnswer 的值为 1,score 的值为 0.8228876。bestAnswer 的值为 1 是因为 score 大于分数阈值 0.77。bestAnswer 为 1 指示客户希望购买产品,因此,视为正向预测。

负向预测:

在此示例中,bestAnswer 的值为 0,因为 score 值为 0.7695356,这低于分数阈值 0.77。bestAnswer 为 0 表示客户不太可能购买您的产品,因此视为负向预测。

批处理结果中的每一列均与您的批处理输入中的一行相对应(您的数据源中的一个观察)。

分析预测之后,您可以执行定向市场营销活动;例如,向预测分数为 1 的所有人发送宣传材料。

在创建、查看并使用了自己的模型之后,现在清除您创建的数据和 AWS 资源以避免产生不必要的费用并保持工作区整洁。