提升 Amazon SageMaker Canvas 中的机器学习数据准备速度
关键要点
数据准备是机器学习工作流中至关重要的步骤,但通常是繁琐且耗时的。Amazon SageMaker Canvas 现已支持强大的数据准备功能,通过与 Amazon SageMaker Data Wrangler 的集成,提供无代码工作环境来准备数据。用户可以轻松地从 50 多个数据源发现和聚合数据,并利用 SageMaker Canvas 的可视化界面进行超过 300 种内置分析和转换。通过自然语言接口,用户可以更高效地探索和转换数据,简化整个机器学习流程。数据准备是任何机器学习ML工作流程中的重要步骤,但往往涉及繁重而耗时的任务。现在,Amazon SageMaker Canvas 支持由 Amazon SageMaker Data Wrangler 提供的全方位数据准备功能。通过这种集成,SageMaker Canvas 为客户提供了一个端到端的无代码工作空间,用于准备数据、构建和使用机器学习及基础模型,加快从数据到商业洞察的时间。用户现在可以轻松发现和聚合来自 50 多个数据源的数据,并使用 SageMaker Canvas 的可视化界面探索和准备数据,利用超过 300 种内置分析及转换。转化和分析的性能也得到了提升,同时通过自然语言接口来探索和转换数据,进一步简化了 ML 的过程。
在本文中,我们将向您展示如何为 SageMaker Canvas 中的端到端模型构建准备数据。
解决方案概述
在我们的用例中,我们假设自己是一家金融服务公司的数据专业人士。我们使用两个示例数据集构建一个机器学习模型,以预测借款人是否会全额还款,这对于管理信用风险至关重要。SageMaker Canvas 的无代码环境使我们能够快速准备数据,工程化特征,训练机器学习模型,并在端到端工作流程中部署模型,而无需编码。
前提条件
要跟随此演练,请确保您已按照以下步骤实现了前提条件:
启动 Amazon SageMaker Canvas。如果您已经是 SageMaker Canvas 的用户,请确保您注销并重新登录,以便使用此新功能。要从 Snowflake 导入数据,请按照 为 Snowflake 设置 OAuth 中的步骤进行操作。
准备交互式数据
设置完成后,我们现在可以创建数据流以启用交互式数据准备。数据流提供内置转换和实时可视化来处理数据。请完成以下步骤:
使用以下任一方法创建一个新的数据流:选择 Data Wrangler,Data flows,然后选择 Create。选择 SageMaker Canvas 数据集并选择 Create a data flow。
选择 Import data 并从下拉列表中选择 Tabular。
您可以通过 50 多个数据连接器直接导入数据,例如 Amazon Simple Storage Service (Amazon S3)、Amazon Athena、Amazon Redshift、Snowflake 和 Salesforce。在本演练中,我们将展示如何直接从 Snowflake 导入数据。或者,您也可以从本地计算机上传相同的数据集。您可以下载数据集 loanspart1csv 和 loanspart2csv。
在导入数据页面中,从列表中选择 Snowflake 并选择 Add connection。为连接输入一个名称,在身份验证方法下拉列表中选择 OAuth 选项。输入您的 Okta 账户 ID,然后选择 Add connection。您将被重定向到 Okta 登录屏幕以输入 Okta 凭据进行身份验证。成功认证后,将重定向到数据流页面。浏览以定位 Snowflake 数据库中的贷款数据集。通过将两个贷款数据集从屏幕左侧拖放到右侧来选择这两个数据集。两个数据集将连接,并出现带有红色警告标记的联合符号。单击它,然后选择两个数据集的 id 关键字。将联接类型保持为 Inner。最终界面应如下所示:选择 Save amp close。选择 Create dataset。为数据集命名。导航到数据流,您将看到以下内容。为快速探索贷款数据,选择 Get data insights,并选择 loanstatus 目标列和 Classification 问题类型。生成的 Data Quality and Insight report 提供了关键统计数据、可视化和特征重要性分析。
查看数据质量问题和不平衡类别的警告,以理解和改善数据集。在此用例的数据集中,您应该会发现“非常低的快速模型分数”的高优先级警告,以及少数类别如逾期和当前模型效能非常低,这显示出需要清理和平衡数据。有关数据洞察报告的更多信息,请参阅 Canvas 文档。
借助超过 300 种由 SageMaker Data Wrangler 提供的内置转换功能,SageMaker Canvas 使您能够快速处理贷款数据。您可以单击 Add step,浏览或搜索合适的转换。对于该数据集,请使用 Drop missing 和 Handle outliers 来清理数据,然后应用 Onehot encode 和 Vectorize text 来创建特征供 ML 使用。
日本免费加速器下载数据准备聊天 是一项新的自然语言功能,使用户能够通过简单英语描述请求,实现直观的数据分析。例如,您可以使用自然短语获取贷款数据的统计信息和特征相关性分析。SageMaker Canvas 理解并通过对话交互执行这些操作,将数据准备提升到新水平。
我们可以使用 数据准备聊天 和内置转换来平衡贷款数据。
首先,输入以下指令:将“逾期”和“当前”在 loanstatus 中替换为“违约”。数据准备聊天 将生成代码,将两个少数类合并为一个default类。
选择内置的 SMOTE 转换函数,为默认类生成合成数据。现在,您拥有了一个平衡的目标列。
清理和处理贷款数据后,重新生成 Data Quality and Insight report 以查看改进情况。高优先级警告消失,表明数据质量已改善。您可以根据需要添加进一步的转换,以增强模型训练所需的数据质量。
扩展和自动化数据处理
要自动化数据准备,您可以将整个工作流程作为分布式 Spark 处理作业运行或调度,以大规模处理整个数据集或任何新数据集。
在数据流中,添加一个 Amazon S3 目标节点。
选择 Create job 启动 SageMaker 处理作业。
配置处理作业并选择 Create,以便该流能够在数百 GB 数据上运行,而无需抽样。数据流可以纳入端到端的 MLOps 管道,以自动化机器学习生命周期。数据流可以作为 SageMaker 管道中的数据处理步骤,或用于部署 SageMaker 推理管道,从而实现从数据准备到 SageMaker 训练和托管的自动化。
在 SageMaker Canvas 中构建和部署模型
数据准备完成后,我们可以无缝导出最终数据集到 SageMaker Canvas,以构建、训练和部署贷款付款预测模型。
在数据流的最后节点或节点面板中选择 Create model。这将导出数据集并启动引导式模型创建工作流程。
命名导出的数据集并选择 Export。从通知中选择 Create model。命名模型,选择 Predictive analysis,然后选择 Create。这将重定向您到模型构建页面。
继续使用 SageMaker Canvas 模型构建体验,选择目标列和模型类型,然后选择 Quick build 或 Standard build。要了解更多有关模型构建体验的信息,请参阅 构建模型。
训练完成后,您可以使用此模型进行新数据预测或部署。有关从 SageMaker Canvas 部署模型的更多信息,请参阅 将在 Amazon SageMaker Canvas 中构建的机器学习模型部署到 Amazon SageMaker 实时端点。
结论
在本文中,我们展示了 SageMaker Canvas 的端到端功能,假设自己是一名金融数据专业人士,准备数据以预测贷款支付,得益于 SageMaker Data Wrangler。交互式数据准备使我们能够快速清理、转换和分析贷款数据,从而工程化出有用的特征。通过消除编码复杂性,SageMaker Canvas 让我们能够快速迭代,以创建高质量的训练数据集。这种加速工作流程直接转向构建、训练和部署高效的 ML 模型,实现商业影响。凭借全面的数据准备和从数据到洞察的统一体验,SageMaker Canvas 助您提升机器学习成果。有关如何加速您的数据到商业洞察的旅程的更多信息,请参见 SageMaker Canvas 沉浸日 和 AWS 用户指南。
关于作者
Dr Changsha Ma 是 AWS 的 AI/ML 专家。她是一位技术专家,拥有计算机科学博士学位、教育心理学硕士学位,并在数据科学和 AI/ML 独立咨询领域拥有多年的经验。她热衷于研究机器与人类智能的方法论。在工作之外,她喜欢远足、烹饪、寻找美食,并与朋友和家人共度时光。
Ajjay Govindaram 是 AWS 的高级解决方案架构师。他与使用 AI/ML 解决复杂商业问题的战略客户合作。他的经验涵盖了为中到大型 AI/ML 应用程序部署提供技术指导和设计协助。他的知识涉及应用程序架构、大数据、分析和机器学习。他喜欢在休息时听音乐、体验户外活动,并与所爱之人共度时光。
Huong Nguyen 是 AWS 的高级产品经理。她负责 SageMaker Canvas 和 SageMaker Data Wrangler 的 ML 数据准备,拥有 15 年构建以客户为中心和数据驱动的产品的经验。