Press "Enter" to skip to content

使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案

我们非常高兴宣布,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模型的步骤:

  1. 在SageMaker Canvas中创建Amazon DocumentDB连接器。
  2. 使用生成式AI分析数据。
  3. 准备用于机器学习的数据。
  4. 构建模型并生成预测。

先决条件

要实施此解决方案,请完成以下先决条件:

  1. 具备具有所需权限的AWS身份和访问管理(IAM)用户的AWS云管理访问。
  2. 使用AWS CloudFormation完成环境设置,可通过以下选项之一进行:
    1. 将CloudFormation模板部署到新的虚拟专用云 – 此选项构建一个新的AWS环境,包括VPC、私有子网、安全组、IAM执行角色、Amazon Cloud9、所需的VPC端点和SageMaker域,然后在此新的VPC中部署Amazon DocumentDB。下载模板,或者通过选择启动堆栈快速启动CloudFormation堆栈:Launch CloudFormation stack
    2. 将CloudFormation模板部署到现有的虚拟专用云 – 此选项在现有的具有私有子网的VPC中创建所需的VPC端点、IAM执行角色和SageMaker域。下载模板,或者通过选择启动堆栈快速启动CloudFormation堆栈:Launch CloudFormation stack

请注意,如果您要创建一个新的SageMaker域,您必须将该域配置为位于没有互联网访问权限的私有VPC,以便能够将连接器添加到Amazon DocumentDB。要了解更多信息,请参阅在没有互联网访问权限的VPC中配置Amazon SageMaker Canvas

  1. 按照教程将示例餐厅数据加载到Amazon DocumentDB。
  2. 添加对Amazon Bedrock和其中的Anthropic Claude模型的访问权限。有关更多信息,请参见添加模型访问权限

在SageMaker Canvas中创建Amazon DocumentDB连接器

创建SageMaker域后,请按照以下步骤完成:

  1. 在Amazon DocumentDB控制台中,在导航窗格中选择无代码机器学习
  2. 选择域和用户配置文件下,选择您的SageMaker域和用户配置文件。
  3. 选择启动Canvas以在新标签中启动SageMaker Canvas。 使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第3张

SageMaker Canvas加载完成后,您将进入数据流选项卡。

  1. 选择创建以创建新的数据流。 使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第4张
  2. 为您的数据流输入一个名称,然后选择创建
  3. 通过选择导入数据,然后选择表格作为数据集类型,添加一个新的Amazon DocumentDB连接。
  4. 导入数据页面中,对于数据源,选择DocumentDB添加连接使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第5张
  5. 输入连接名称,例如demo,并选择所需的Amazon DocumentDB集群。

请注意,SageMaker Canvas会预填下拉菜单,其中包含与您的SageMaker域相同VPC中的集群。

  1. 输入用户名、密码和数据库名称。
  2. 最后,选择读取首选项。

为了保护主要实例的性能,SageMaker Canvas默认为Secondary,这意味着它只从从属实例读取。当读取首选项为Secondary preferred时,SageMaker Canvas会从可用的从属实例读取,但如果没有可用的从属实例,它会从主实例读取。有关如何配置Amazon DocumentDB连接的更多信息,请参阅连接到存储在AWS中的数据库

  1. 选择添加连接使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第6张

如果连接成功,您将在Amazon DocumentDB数据库中看到显示为表的集合。

  1. 将您选择的表拖到空白画布上。在本文中,我们添加了我们的餐厅数据。

预览显示前100行。

  1. 选择导入数据以开始分析和准备您的数据。 使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第7张
  2. 输入数据集名称并选择导入数据

使用生成AI分析数据

接下来,我们想要从数据中获取一些洞察,并查找模式。 SageMaker Canvas提供了自然语言界面来分析和准备数据。在加载数据选项卡后,您可以按照以下步骤与您的数据进行交流:

  1. 选择用于数据准备的交流使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第8张
  2. 通过提出问题(如以下截图中所示的示例)来收集有关您的数据的见解。 使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第9张

要了解有关如何使用自然语言探索和准备数据的更多信息,请参阅使用Amazon SageMaker Canvas新功能使用自然语言探索和准备数据

通过使用SageMaker Canvas数据质量和洞察报告来更深入地了解我们的数据质量,该报告会自动评估数据质量并检测异常情况。

  1. 分析选项卡上,选择数据质量和洞察报告
  2. 选择将评级作为目标列,回归作为问题类型,然后选择创建

这将模拟模型训练并为我们改善机器学习数据的方法提供见解。完整报告将在几分钟内生成。

我们的报告显示,目标列中有2.47%的行存在缺失值 – 我们将在下一步中解决这个问题。此外,分析显示地址行2名称食物类型的特征对我们的数据具有最重要的预测能力。这表明餐厅的基本信息,如位置和美食,可能对评级产生重大影响。

使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第10张

为机器学习准备数据

SageMaker Canvas提供了超过300种内置转换方式来准备您导入的数据。有关SageMaker Canvas转换功能的更多信息,请参阅使用高级转换方式准备数据。让我们添加一些转换方式,以便准备好我们的数据以进行ML模型训练。

  1. 通过选择页面顶部的数据流名称,返回到数据流程页面。
  2. 选择数据类型旁边的加号,然后选择添加转换使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第11张
  3. 选择添加步骤
  4. 让我们将地址行2列重新命名为城市
    1. 选择管理列
    2. 选择重命名列以进行转换
    3. 选择地址行2作为输入列,输入城市作为新名称,然后选择添加使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第12张
  5. 此外,让我们删除一些不必要的列。
    1. 添加一个新的转换方式。
    2. 对于转换,选择删除列
    3. 对于要删除的列,选择URLrestaurant_id
    4. 选择添加使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第13张[
  6. 我们的评级特征列中存在一些缺失值,所以让我们用该列的平均值填充这些行。
    1. 添加一个新的转换方式。
    2. 对于转换,选择填充
    3. 对于列类型,选择数值
    4. 对于输入列,选择评级列。
    5. 对于填充策略,选择平均值
    6. 对于输出列,输入rating_avg_filled
    7. 选择添加使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第14张
  7. 我们可以删除评级列,因为我们有一个新的填充值列。
  8. 因为食物类型是分类的性质,我们将希望对其进行数值编码。让我们使用独热编码技术对这个特征进行编码。
    1. 添加一个新的转换方式。
    2. 对于转换,选择独热编码
    3. 对于输入列,选择食物类型
    4. 对于无效处理策略,选择保留
    5. 对于输出样式,选择
    6. 对于输出列,输入encoded
    7. 选择添加建立模型并生成预测

      现在我们已经转换了数据,让我们训练一个数值机器学习模型来预测餐厅的评级。

      1. 选择创建模型
      2. 对于数据集名称,输入一个数据集导出的名称。
      3. 选择导出并等待转换后的数据导出。使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第15张
      4. 在页面左下角选择创建模型链接。

      您也可以从页面左侧的数据整理器功能中选择数据集。

      使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第16张

      1. 输入一个模型名称。
      2. 选择预测分析,然后选择创建
      3. rating_avg_filled 作为目标列。

      SageMaker Canvas会自动选择适合的模型类型。

      1. 选择预览模型以确保没有数据质量问题。
      2. 选择快速构建来构建模型。使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第17张

      模型创建过程将需要大约2-15分钟完成。

      模型训练完成后,您可以查看模型的状态。我们的模型的RSME为0.422,这意味着模型通常在实际值的±0.422范围内预测餐厅的评级,对于评分范围1-6来说,这是一个不错的近似值。

      使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第18张

      1. 最后,您可以通过导航到预测选项卡生成样本预测。使用Amazon DocumentDB在Amazon SageMaker Canvas中构建无代码机器学习解决方案 四海 第19张

      清理

      为了避免产生未来的费用,请删除您在本帖中创建的资源。SageMaker Canvas会根据您使用的时间计费,我们建议在您不使用时退出SageMaker Canvas。有关详细信息,请参阅退出Amazon SageMaker Canvas

      结论

      在本帖中,我们讨论了如何使用SageMaker Canvas和存储在Amazon DocumentDB中的数据进行生成式人工智能和机器学习。在我们的示例中,我们展示了分析师如何使用样本餐厅数据集快速构建高质量的机器学习模型。

      我们展示了从从Amazon DocumentDB导入数据到在SageMaker Canvas中构建机器学习模型的步骤。整个过程都是通过可视化界面完成的,无需编写任何代码。

      要开始您的低代码/无代码机器学习之旅,请参考Amazon SageMaker Canvas

Leave a Reply

Your email address will not be published. Required fields are marked *