我们非常高兴宣布,Amazon DocumentDB (兼容MongoDB)与Amazon SageMaker Canvas集成,使Amazon DocumentDB客户能够构建和使用生成式人工智能和机器学习(ML)解决方案,无需编写代码。Amazon DocumentDB是一个完全托管的原生JSON文档数据库,使操作关键文档工作负载变得简单和经济高效,无需管理基础架构。Amazon SageMaker Canvas是一个无代码ML工作空间,提供即用模型,包括基础模型,并能够准备数据和构建、部署自定义模型。
在这篇文章中,我们讨论如何将存储在Amazon DocumentDB中的数据带入SageMaker Canvas,并使用该数据构建用于预测分析的ML模型。无需创建和维护数据流水线,您将能够使用存储在Amazon DocumentDB中的非结构化数据来支持ML模型。
解决方案概述
假设您是一家外卖公司的业务分析师。由于其可扩展性和灵活的模式能力,您的移动应用程序将餐厅信息存储在Amazon DocumentDB中。您希望对这些数据进行深入分析,并构建一个预测新餐厅评级的ML模型,但发现在非结构化数据上进行分析非常具有挑战性。因为您需要依赖数据工程和数据科学团队来实现这些目标,所以遇到了瓶颈。
这种新的集成通过简化将Amazon DocumentDB数据带入SageMaker Canvas,并立即开始准备和分析用于ML的数据,解决了这些问题。此外,SageMaker Canvas消除了对ML专业知识的依赖,您可以轻松构建高质量模型并生成预测。
下面是使用Amazon DocumentDB数据在SageMaker Canvas中构建ML模型的步骤:
- 在SageMaker Canvas中创建Amazon DocumentDB连接器。
- 使用生成式AI分析数据。
- 准备用于机器学习的数据。
- 构建模型并生成预测。
先决条件
要实施此解决方案,请完成以下先决条件:
- 具备具有所需权限的AWS身份和访问管理(IAM)用户的AWS云管理访问。
- 使用AWS CloudFormation完成环境设置,可通过以下选项之一进行:
- 将CloudFormation模板部署到新的虚拟专用云 – 此选项构建一个新的AWS环境,包括VPC、私有子网、安全组、IAM执行角色、Amazon Cloud9、所需的VPC端点和SageMaker域,然后在此新的VPC中部署Amazon DocumentDB。下载模板,或者通过选择启动堆栈快速启动CloudFormation堆栈:
- 将CloudFormation模板部署到现有的虚拟专用云 – 此选项在现有的具有私有子网的VPC中创建所需的VPC端点、IAM执行角色和SageMaker域。下载模板,或者通过选择启动堆栈快速启动CloudFormation堆栈:
请注意,如果您要创建一个新的SageMaker域,您必须将该域配置为位于没有互联网访问权限的私有VPC,以便能够将连接器添加到Amazon DocumentDB。要了解更多信息,请参阅在没有互联网访问权限的VPC中配置Amazon SageMaker Canvas。
在SageMaker Canvas中创建Amazon DocumentDB连接器
创建SageMaker域后,请按照以下步骤完成:
- 在Amazon DocumentDB控制台中,在导航窗格中选择无代码机器学习。
- 在选择域和用户配置文件下,选择您的SageMaker域和用户配置文件。
- 选择启动Canvas以在新标签中启动SageMaker Canvas。
SageMaker Canvas加载完成后,您将进入数据流选项卡。
- 选择创建以创建新的数据流。
- 为您的数据流输入一个名称,然后选择创建。
- 通过选择导入数据,然后选择表格作为数据集类型,添加一个新的Amazon DocumentDB连接。
- 在导入数据页面中,对于数据源,选择DocumentDB和添加连接。
- 输入连接名称,例如demo,并选择所需的Amazon DocumentDB集群。
请注意,SageMaker Canvas会预填下拉菜单,其中包含与您的SageMaker域相同VPC中的集群。
- 输入用户名、密码和数据库名称。
- 最后,选择读取首选项。
为了保护主要实例的性能,SageMaker Canvas默认为Secondary,这意味着它只从从属实例读取。当读取首选项为Secondary preferred时,SageMaker Canvas会从可用的从属实例读取,但如果没有可用的从属实例,它会从主实例读取。有关如何配置Amazon DocumentDB连接的更多信息,请参阅连接到存储在AWS中的数据库。
- 选择添加连接。
如果连接成功,您将在Amazon DocumentDB数据库中看到显示为表的集合。
- 将您选择的表拖到空白画布上。在本文中,我们添加了我们的餐厅数据。
预览显示前100行。
- 选择导入数据以开始分析和准备您的数据。
- 输入数据集名称并选择导入数据。
使用生成AI分析数据
接下来,我们想要从数据中获取一些洞察,并查找模式。 SageMaker Canvas提供了自然语言界面来分析和准备数据。在加载数据选项卡后,您可以按照以下步骤与您的数据进行交流:
- 选择用于数据准备的交流。
- 通过提出问题(如以下截图中所示的示例)来收集有关您的数据的见解。
要了解有关如何使用自然语言探索和准备数据的更多信息,请参阅使用Amazon SageMaker Canvas新功能使用自然语言探索和准备数据。
通过使用SageMaker Canvas数据质量和洞察报告来更深入地了解我们的数据质量,该报告会自动评估数据质量并检测异常情况。
- 在分析选项卡上,选择数据质量和洞察报告。
- 选择将
评级
作为目标列,回归作为问题类型,然后选择创建。
这将模拟模型训练并为我们改善机器学习数据的方法提供见解。完整报告将在几分钟内生成。
我们的报告显示,目标列中有2.47%的行存在缺失值 – 我们将在下一步中解决这个问题。此外,分析显示地址行2
,名称
和食物类型
的特征对我们的数据具有最重要的预测能力。这表明餐厅的基本信息,如位置和美食,可能对评级产生重大影响。
为机器学习准备数据
SageMaker Canvas提供了超过300种内置转换方式来准备您导入的数据。有关SageMaker Canvas转换功能的更多信息,请参阅使用高级转换方式准备数据。让我们添加一些转换方式,以便准备好我们的数据以进行ML模型训练。
- 通过选择页面顶部的数据流名称,返回到数据流程页面。
- 选择数据类型旁边的加号,然后选择添加转换。
- 选择添加步骤。
- 让我们将
地址行2
列重新命名为城市
。- 选择管理列。
- 选择重命名列以进行转换。
- 选择
地址行2
作为输入列,输入城市
作为新名称,然后选择添加。
- 此外,让我们删除一些不必要的列。
- 添加一个新的转换方式。
- 对于转换,选择删除列。
- 对于要删除的列,选择
URL
和restaurant_id
。 - 选择添加。 [
- 我们的
评级
特征列中存在一些缺失值,所以让我们用该列的平均值填充这些行。- 添加一个新的转换方式。
- 对于转换,选择填充。
- 对于列类型,选择数值。
- 对于输入列,选择
评级
列。 - 对于填充策略,选择平均值。
- 对于输出列,输入
rating_avg_filled
。 - 选择添加。
- 我们可以删除
评级
列,因为我们有一个新的填充值列。 - 因为
食物类型
是分类的性质,我们将希望对其进行数值编码。让我们使用独热编码技术对这个特征进行编码。- 添加一个新的转换方式。
- 对于转换,选择独热编码。
- 对于输入列,选择
食物类型
。 - 对于无效处理策略,选择保留。
- 对于输出样式,选择列。
- 对于输出列,输入
encoded
。 - 选择添加。 建立模型并生成预测
现在我们已经转换了数据,让我们训练一个数值机器学习模型来预测餐厅的评级。
- 选择创建模型。
- 对于数据集名称,输入一个数据集导出的名称。
- 选择导出并等待转换后的数据导出。
- 在页面左下角选择创建模型链接。
您也可以从页面左侧的数据整理器功能中选择数据集。
- 输入一个模型名称。
- 选择预测分析,然后选择创建。
- 将
rating_avg_filled
作为目标列。
SageMaker Canvas会自动选择适合的模型类型。
- 选择预览模型以确保没有数据质量问题。
- 选择快速构建来构建模型。
模型创建过程将需要大约2-15分钟完成。
模型训练完成后,您可以查看模型的状态。我们的模型的RSME为0.422,这意味着模型通常在实际值的±0.422范围内预测餐厅的评级,对于评分范围1-6来说,这是一个不错的近似值。
- 最后,您可以通过导航到预测选项卡生成样本预测。
清理
为了避免产生未来的费用,请删除您在本帖中创建的资源。SageMaker Canvas会根据您使用的时间计费,我们建议在您不使用时退出SageMaker Canvas。有关详细信息,请参阅退出Amazon SageMaker Canvas。
结论
在本帖中,我们讨论了如何使用SageMaker Canvas和存储在Amazon DocumentDB中的数据进行生成式人工智能和机器学习。在我们的示例中,我们展示了分析师如何使用样本餐厅数据集快速构建高质量的机器学习模型。
我们展示了从从Amazon DocumentDB导入数据到在SageMaker Canvas中构建机器学习模型的步骤。整个过程都是通过可视化界面完成的,无需编写任何代码。
要开始您的低代码/无代码机器学习之旅,请参考Amazon SageMaker Canvas。