本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SageMaker Canvas 端到端机器学习工作流程
重要
本教程假设您或您的管理员已经创建了一个 AWS 帐户。有关创建 AWS 账户的信息,请参阅入门:你是第一次 AWS 使用吗?
设置
Amazon SageMaker 域名是管理您的所有亚马逊 SageMaker 环境和资源的集中场所。域充当您在中工作的虚拟边界 SageMaker,为您的机器学习 (ML) 资源提供隔离和访问控制。
要开始使用 Amazon SageMaker Canvas,您或您的管理员必须导航到 SageMaker控制台并创建一个亚马逊 SageMaker 域名。域拥有运行 C SageMaker anvas 所需的存储和计算资源。在该域中,您可以将 SageMaker Canvas 配置为访问您的 Amazon S3 存储桶并部署模型。使用以下步骤设置快速域并创建 SageMaker Canvas 应用程序。
设置 SageMaker 画布
-
导航到 SageMaker 控制台
。 -
在左侧导航栏中,选择 SageMaker 画布。
-
选择创建 SageMaker 域名。
-
选择 Set up (设置)。域名可能需要几分钟才能完成设置。
前面的过程使用了快速域名设置。您可以执行高级设置来控制账户配置的各个方面,包括权限、集成和加密。有关自定义设置的更多信息,请参阅Amazon 的自定义设置 SageMaker。
默认情况下,进行快速域设置可为您提供部署模型的权限。如果您通过标准域设置了自定义权限,并且需要手动授予模型部署权限,请参阅权限管理。
流程创建
Amazon SageMaker Canvas 是一个机器学习平台,使用户无需大量的编码或机器学习专业知识即可构建、训练和部署机器学习模型。Amazon SageMaker Canvas 的强大功能之一是能够导入和处理来自各种来源(例如 Amazon S3)的大型数据集。
在本教程中,我们将使用纽约出租车数据集,使用 Amazon Canvas Data Wrangler 数据 SageMaker 流预测每次行程的票价。以下过程概述了将纽约出租车数据集的修改版本导入数据流的步骤。
注意
为了改进处理能力, SageMaker Canvas 会导入您的数据样本。默认情况下,它会随机采样 50,000 行。
导入 NYC 出租车数据集
-
在 SageMaker Canvas 主页上,选择 Data Wrangler。
-
选择导入数据。
-
选择 “表格”。
-
选择数据源旁边的工具箱。
-
从下拉列表中选择 Amazon S3。
-
对于输入 S3 端点,请指定
s3://
amazon-sagemaker-data-wrangler-documentation-artifacts
/canvas-single-file-nyc-taxi-dataset
.csv -
选择 “开始”。
-
选中数据集旁边的复选框。
-
选择 “预览数据”。
-
选择保存。
数据质量和见解报告 1(样本)
将数据集导入 Amazon SageMaker Canvas 后,您可以根据数据样本生成数据质量和见解报告。使用它来提供有关数据集的宝贵见解。该报告执行以下操作:
-
评估数据集的完整性
-
识别缺失值和异常值
它可以识别可能影响模型性能的其他潜在问题。它还会评估与目标变量相关的每个特征的预测能力,从而使您能够确定与要解决的问题最相关的特征。
我们可以利用报告中的见解来预测票价。通过将 “票价金额” 列指定为目标变量并选择 “回归” 作为问题类型,报告将分析数据集是否适合预测票价等连续值。该报告应显示,年份和 hour_of_day 等功能对所选目标变量的预测能力较低,从而为您提供有价值的见解。
使用以下步骤从数据集中获取 50,000 行样本的数据质量和见解报告。
获取样本报告
-
从 “数据类型” 节点旁边的弹出窗口中选择 “获取数据见解”。
-
在分析名称中,为报告指定一个名称。
-
对于问题类型,选择回归。
-
在 “目标” 列中,选择票价金额。
-
选择创建。
您可以查看有关数据样本的 “数据质量和见解” 报告。该报告表明,年份和每日小时功能无法预测目标变量 “票价”。
在导航的顶部,选择数据流的名称以导航回该数据流。
删除年份和一天中的某一小时
我们正在使用报告中的见解来删除年份和 h our_of_day 列,以简化特征空间并有可能提高模型性能。
Amazon SageMaker Canvas 提供了用户友好的界面和工具来执行此类数据转换。
使用 Amazon Canvas 中的 Data Wrangler 工具,使用以下步骤从纽约出租车数据集中删除年份和 hour_of_day 列。 SageMaker
-
选择 “数据类型” 旁边的图标。
-
选择添加步骤。
-
在搜索栏中,写下 Drop 列。
-
选择管理列。
-
选择 “删除列”。
-
对于要删除的列,请选择年份和每日小时列。
-
选择 “预览” 以查看变换如何更改数据。
-
选择添加。
您可以使用上述过程作为基础,在 Can SageMaker vas 中添加所有其他变换。
数据质量和见解报告 2(完整数据集)
在之前的洞察报告中,我们使用了纽约出租车数据集的样本。在第二份报告中,我们将对整个数据集进行全面分析,以确定影响模型性能的潜在问题。
使用以下步骤创建有关整个数据集的数据质量和见解报告。
获取有关整个数据集的报告
-
选择 “删除列” 节点旁边的图标。
-
选择获取数据见解。
-
在分析名称中,为报告指定一个名称。
-
对于问题类型,选择回归。
-
在 “目标” 列中,选择票价金额。
-
对于数据大小,选择完整数据集。
-
选择创建。
以下是来自洞察报告的图片:
![重复的行、偏斜的目标和极低的快速模型分数被列为 InsightSP](images/canvas-tutorial-dqi-insights.png)
它显示了以下问题:
-
重复行
-
目标偏斜
重复的行可能导致数据泄露,即模型在训练和测试期间会接触到相同的数据。它们可能导致绩效指标过于乐观。删除重复行可确保模型在唯一的实例上进行训练,从而降低数据泄露的风险并提高模型的概化能力。
偏斜的目标变量分布(在本例中为票价金额列)可能会导致类别不平衡,在这种情况下,模型可能会偏向多数舱位。这可能会导致少数族裔阶层的表现不佳,在准确预测罕见或代表性不足的情况很重要的情况下,这尤其成问题。
解决数据质量问题
要解决这些问题并准备数据集进行建模,可以搜索并应用以下变换:
-
使用 “管理行” 转换删除重复项。
-
使用稳健标准差数字@@ 异常值处理票价金额列中的异常值。
-
使用标准差数字@@ 异常值处理 “行程距离” 和 “行程持续时间” 列中的异常值。
-
使用 Encode 分类将费率代码 ID、付款类型、额外标志和收费标志列编码为浮点数。
如果您不确定如何应用变换,请参阅 删除年份和一天中的某一小时
通过解决这些数据质量问题并应用适当的转换,可以提高数据集的建模适用性。
验证数据质量和快速模型准确性
在应用转换来解决数据质量问题(例如删除重复行)之后,我们创建了最终的《数据质量和见解》报告。此报告有助于验证所应用的变换是否解决了问题,以及数据集现在是否处于适合建模的状态。
在查看最终的《数据质量和见解》报告时,您应该会看到没有发现任何重大数据质量问题。报告应表明:
-
目标变量不再偏斜
-
没有异常值或重复行
此外,该报告应根据在转换后的数据集中训练的基线模型提供快速模型分数。该分数是模型潜在准确性和性能的初始指标。
使用以下步骤创建 “数据质量和见解” 报告。
创建 “数据质量和见解” 报告
-
选择 “删除列” 节点旁边的图标。
-
选择获取数据见解。
-
在分析名称中,为报告指定一个名称。
-
对于问题类型,选择回归。
-
在 “目标” 列中,选择票价金额。
-
对于数据大小,选择完整数据集。
-
选择创建。
将数据拆分为训练集和测试集
为了训练模型并评估其性能,我们使用拆分数据转换将数据拆分为训练集和测试集。
默认情况下, SageMaker Canvas 使用随机拆分,但您也可以使用以下类型的拆分:
-
已订购
-
分层
-
按键分割
您可以更改分割百分比或添加拆分。
在本教程中,请使用拆分中的所有默认设置。您需要双击数据集才能查看其名称。训练数据集的名称为 “数据集(训练)”。
在 Or dinal 编码节点旁边,应用拆分数据转换。
火车模型
拆分数据后,就可以训练模型了。该模型从数据中的模式中学习。你可以用它来做出预测或发现见解。
SageMaker Canvas 既有快速构建,也有标准构建。使用标准版本根据您的数据训练性能最佳的模型。
在开始训练模型之前,必须先将训练数据集导出为 SageMaker Canvas 数据集。
导出您的数据集
-
在训练数据集的节点旁边,选择图标并选择导出。
-
选择SageMaker 画布数据集。
-
选择导出以导出数据集。
创建数据集后,可以在已创建的 SageMaker Canvas 数据集上训练模型。有关训练模型的信息,请参阅构建自定义的数值或分类预测模型。
评估模型并做出预测
训练完机器学习模型后,评估其性能至关重要,以确保其满足您的要求并在看不见的数据上表现良好。Amazon SageMaker Canvas 提供了一个用户友好的界面,用于评估模型的准确性、查看其预测并深入了解其优缺点。您可以利用这些见解来就其部署和潜在的改进领域做出明智的决定。
在部署模型之前,请使用以下过程对其进行评估。
评估模型
-
选择 “我的模型”。
-
选择您创建的模型。
-
在 “版本” 下,选择与模型对应的版本。
现在,您可以查看模型评估指标。
评估模型后,您可以对新数据进行预测。我们正在使用我们创建的测试数据集。
要使用测试数据集进行预测,我们需要将其转换为 SageMaker Canvas 数据集。C SageMaker anvas 数据集采用模型可以解释的格式。
使用以下步骤从测试数据集创建 SageMaker Canvas 数据集。
创建 SageMaker 画布数据集
-
在数据集(测试)数据集旁边,选择单选图标。
-
选择 “导出”。
-
选择SageMaker 画布数据集。
-
在数据集名称中,指定数据集的名称。
-
选择导出。
使用以下步骤进行预测。它假设您仍在 “分析” 页面上。
对测试数据集进行预测
-
选择 “预测”。
-
选择 “手动”。
-
选择已导出的数据集。
-
选择生成预测。
-
SageMaker Canvas 完成预测生成后,选择数据集右侧的图标。
-
选择 “预览” 以查看预测。
部署模型
评估完模型后,可以将其部署到终端节点。您可以向终端节点提交请求以获取预测。
使用以下步骤部署模型。它假设你仍在预测页面上。
部署模型
-
选择部署。
-
选择 Create deployment(创建部署)。
-
选择部署。
清理
您已成功完成本教程。为避免产生额外费用,请删除您未使用的资源。
使用以下步骤删除您创建的终端节点。它假设您仍在 “部署” 页面上。
删除终端节点
-
选择部署右侧的单选按钮。
-
选择删除部署。
-
选择删除。
删除部署后,删除您在 C SageMaker anvas 中创建的数据集。使用以下步骤删除数据集。
删除数据集
-
在左侧导航栏中选择 “数据集”。
-
选择您已分析的数据集和用于预测的合成数据集。
-
选择删除。
为避免产生额外费用,您必须注销 SageMaker Canvas。有关更多信息,请参阅 注销 Amazon SageMaker Canvas。