我们很高兴地宣布,Amazon DocumentDB与 MongoDB 兼容集成了 Amazon SageMaker Canvas,使得 Amazon DocumentDB 的客户无需编码即可构建和使用生成式 AI 和机器学习解决方案。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 模型的步骤:
要实现此解决方案,请完成以下前提条件:
使用 AWS CloudFormation 完成环境设置,选择以下任一选项:
注意:如果你创建了新 SageMaker 域,必须将该域配置为在没有互联网访问的私有 VPC 中,以便添加连接器到 Amazon DocumentDB。有关更多信息,请参阅 在没有互联网访问的情况下配置 Amazon SageMaker Canvas。
创建 SageMaker 域后,完成以下步骤:
当 SageMaker Canvas 加载完成后,你将进入 数据流 选项卡。
请注意,SageMaker Canvas 将自动填写与 SageMaker 域在同一 VPC 中的集群。
为了保护主实例的性能,SageMaker Canvas 默认使用 次级,这意味着它只会从次级实例读取。当读取偏好设置为 次级优先 时,SageMaker Canvas 将读取可用的次级实例,但如果没有可用的次级实例,则会从主实例读取。有关如何配置 Amazon DocumentDB 连接的更多信息,请查看 连接到存储在 AWS 中的数据库。
选择 添加连接。
如果连接成功,您的 Amazon DocumentDB 数据库中的集合将以表格形式显示。
前 100 行显示为预览。
要开始分析和准备数据,请选择 导入数据。
输入数据集名称并选择 导入数据。
接下来,我们希望获取数据洞察并查找模式。SageMaker Canvas 提供自然语言界面用于分析和准备数据。当 数据 选项卡加载时,你可以通过以下步骤开始与数据对话:
选择 数据准备聊天。
通过询问问题获取关于数据的洞察,问题示例如下图所示。
要了解更多如何使用自然语言探索和准备数据,请参见 使用自然语言探索和准备数据的 Amazon SageMaker Canvas 新功能。
通过使用 SageMaker Canvas 数据质量和洞察报告,我们可以对数据质量有更深入的了解,该报告会自动评价数据质量并检测异常。
这将模拟模型训练,并提供我们改进数据以进行机器学习的洞察。完整报告会在几分钟内生成。
我们的报告显示,目标中的 247 行缺少值我们将在下一步中解决这一问题。此外,分析显示 address line 2、name 和 typeoffood 特征在我们的数据中具有最大的预测能力。这表明基础的餐厅信息,如位置和菜系,可能对评级有重大影响。
SageMaker Canvas 提供超过 300 种内置转换来准备导入的数据。有关 SageMaker Canvas 转换功能的更多信息,请参见 使用高级转换准备数据。让我们增加一些转换,以准备好我们的数据以进行 ML 模型训练。
现在我们已经转换了数据,接下来让我们训练一个数值 ML 模型来预测餐厅的评分。
你也可以从页面左侧的 Data Wrangler 功能中选择数据集。
SageMaker Canvas 将自动选择合适的模型类型。
模型创建大约需要 215 分钟完成。
你可以在模型完成训练后查看模型状态。我们的模型的 RMSE 为 0422,这意味着模型通常会预测餐厅评级在真实值 / 0422 的范围内,这在 16 的评级范围内是一个合理的近似。
![](https//d2908q01vomqb