关于选择正确的数据准备工具的建议 SageMaker - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

关于选择正确的数据准备工具的建议 SageMaker

机器学习中的数据准备是指收集、预处理和组织原始数据以使其适合分析和建模的过程。此步骤可确保数据采用机器学习算法可以有效学习的格式。数据准备任务可能包括处理缺失值、移除异常值、缩放特征、对类别变量进行编码、评估潜在偏差并采取措施缓解这些偏差、将数据拆分为训练和测试集、标记以及其他必要的转换,以优化数据的质量和可用性,以用于后续的机器学习任务。

选择一项功能

使用 Amazon 进行数据准备有 3 个主要用例 SageMaker。选择符合您要求的用例,然后参考相应的推荐功能

使用案例

以下是为 Machine Learning 执行数据准备时的主要用例。

  • 用例 1:对于那些喜欢可视化界面的用户, SageMaker 提供了通过 point-and-click 环境探索、准备和设计模型训练功能的方法。

  • 用例 2:对于熟悉编程、想要提高数据准备灵活性和控制力的用户,可以将工具 SageMaker 集成到其编码环境中以进行探索、转换和功能工程。

  • 用例 3:对于专注于可扩展数据准备的用户, SageMaker 提供无服务器功能,利用 Hadoop/Spark 生态系统对大数据进行分布式处理。

下表概述了与机器学习的每个数据准备用例相关的 SageMaker 功能的关键注意事项和权衡取舍。首先,请确定符合您要求的用例,然后导航到其推荐 SageMaker功能。

应用场景 1 应用场景 2 使用案例 3
SageMaker 功能 亚马逊 Canva@@ s 中的 Data Wrangler SageMaker SQL在 Studio 中使用准备数据 使用EMR无服务器准备数据Studio 中的应用程序
描述 SageMaker Canvas 是一个可视化的低代码环境,用于在中构建、训练和部署机器学习模型。 SageMaker其集成的 Data Wrangler 工具允许用户通过 point-and-click 交互合并、转换和清理数据集。 Studio 中的SQL扩展允许用户连接亚马逊 Redshift、Snowflake、Athena 和 Amazon S3,在笔记本中SQL创作临时查询和预览结果。 JupyterLab可以使用以下方法操作这些查询的输出 Python 以及 Pandas 用于额外的处理、可视化以及转换为可用于机器学习模型开发的格式。 EMRServerless 和 Amazon SageMaker Studio 之间的集成提供了一个可扩展的无服务器环境,用于使用 Apache Spark 和 Apache Hive 等开源框架为机器学习准备大规模数据。用户可以直接从 Studio 笔记本电脑访问EMR无服务器应用程序和数据,从而大规模执行数据准备任务。
经过优化 使用可视化界面,您可以:

针对表格数据任务进行了优化,例如处理缺失值、编码类别变量和应用数据转换。

适用于数据存储在 Amazon Redshift、Snowflake、Athena 或 A mazon S3 中,并且想要将探索性和 SQL Python 无需学习即可进行数据分析和准备 Spark. 适用于那些更喜欢无服务器体验的用户,这些用户可以自动配置和终止资源,以扩展围绕 Apache Spark 运行的短时或间歇性交互式工作负载,同时利用的 SageMaker机器学习功能。
注意事项
  • 如果你的团队已经具备了 Python、Spark 或其他语言方面的专业知识,那么这可能不是最佳选择。

  • 如果您需要完全灵活地自定义转换以添加复杂的业务逻辑,或者需要完全控制数据处理环境,那么它可能不是最合适的。

  • 此功能仅适用于驻留在 Amazon Redshift、Snowflake、Athena 或 Amazon S3 中的结构化数据。

  • 如果查询结果的大小超过您的 SageMaker 实例内存,则以下笔记本可以指导您开始使用 Athena,为通过算法提取数据做好准备。 SageMaker

  • 对于不熟悉EMR无服务器应用程序和基于 Spark 的工具的用户来说,学习曲线可能具有挑战性。

  • 此功能更适合交互式数据准备任务,对于大规模、长期运行或复杂的数据处理需求,该功能可能不如 Amazon EMR 集群那么高效,这些需求涉及大量数据、与其他服务的广泛集成、自定义应用程序或除了 Apache Spark 之外的各种分布式数据处理框架。

  • 尽管对于短期任务,无服务器计算可能具有成本效益,但必须谨慎监控和管理成本,尤其是对于长时间运行或资源密集型工作负载。

推荐环境 开始使用 Can SageMaker vas 启动 Studio 启动 Studio

其他选项

SageMaker 提供了以下其他选项,用于准备用于机器学习模型的数据。

  • 使用 Amazon EMR 集群准备数据:对于长时间运行、计算密集型的大规模数据处理任务,可以考虑使用 Studio 的 Amazon EMR 集群。 SageMaker Amazon EMR 集群专为处理大规模并行化而设计,可以扩展到数百或数千个节点,因此非常适合需要 Apache Spark、Hadoop、Hive 和 Presto 等框架的大数据工作负载。Amazon EMR 与 SageMaker Studio 的集成使您可以利用 Amazon 的可扩展性和性能EMR,同时在 SageMaker Studio 环境中集中和管理完整的机器学习实验、模型训练和部署。

  • 使用 glue 交互式会话准备数据:你可以使用基于 Apache Spark 的无服务器引擎 AWS Glue 交互式会话,用于在 SageMaker Studio 中聚合、转换和准备来自多个来源的数据。

  • 使用 Amazon SageMaker Cl@@ arify 处理任务识别训练数据中的偏见: SageMaker Clarify 会分析您的数据并检测多个方面的潜在偏差。例如,您可以API在 Studio 中使用 Clarify 来检测您的训练数据是否包含不平衡的表示形式或群组之间的标签偏差,例如性别、种族或年龄。Clarify 可以帮助您在训练模型之前识别这些偏差,以避免将偏差传播到模型的预测中。

  • 创建、存储和共享功能:Amazon F SageMaker eature Store 优化了机器学习精选功能的发现和重复使用。它提供了一个集中式存储库,用于存储可以搜索和检索的特征数据,以便进行模型训练。以标准化格式存储功能便于在机器学习项目中重复使用。Feature Store 管理功能的整个生命周期,包括世系跟踪、统计数据和审计跟踪,以实现可扩展和受管控的机器学习功能工程。

  • 使用标记数据 human-in-the-loop:您可以使用 G SageMaker round Truth 来管理训练数据集的数据标签工作流程。

  • 使用 SageMaker ProcessingAPI:在执行探索性数据分析并创建数据转换步骤后,您可以使用 Processing 作业生成转换代码,并使用 SageMaker Mod SageMaker el Building Pipelines 自动执行准备工作流程。