AiToolGo的标志

Amazon SageMaker Data Wrangler:简化机器学习数据准备

深入讨论
技术性强,易于理解
 0
 0
 1
本文提供了关于如何访问和使用 Amazon SageMaker Data Wrangler 的综合指南,涵盖了先决条件、数据准备和使用泰坦尼克号数据集进行模型训练。它包括导入数据、应用转换和导出数据流的步骤说明。
  • 主要观点
  • 独特见解
  • 实际应用
  • 关键主题
  • 核心洞察
  • 学习成果
  • 主要观点

    • 1
      使用 Data Wrangler 的详细分步说明
    • 2
      使用泰坦尼克号数据集的实际示例
    • 3
      全面涵盖数据准备和模型训练
  • 独特见解

    • 1
      Data Wrangler 与 Amazon S3 的集成,用于数据导入
    • 2
      使用内置转换和自定义 Python 代码进行数据清理
  • 实际应用

    • 本文为用户提供了有效准备机器学习数据的实用指导,对初学者和有经验的用户都很有价值。
  • 关键主题

    • 1
      使用 Data Wrangler 进行数据准备
    • 2
      使用 XGBoost 进行模型训练
    • 3
      与 Amazon S3 集成
  • 核心洞察

    • 1
      使用真实数据集进行实践教程
    • 2
      为新手和高级用户提供清晰的说明
    • 3
      专注于数据准备工具的实际应用
  • 学习成果

    • 1
      了解如何访问和使用 Amazon SageMaker Data Wrangler
    • 2
      能够为机器学习模型准备数据
    • 3
      了解 Data Wrangler 与 AWS 服务的集成知识
示例
教程
代码示例
可视化内容
基础知识
高级内容
实用技巧
最佳实践

Amazon SageMaker Data Wrangler 简介

Amazon SageMaker Data Wrangler 是 Amazon SageMaker Studio Classic 中的一个强大工具,旨在简化机器学习 (ML) 项目的数据准备过程。它提供了一个用户友好、可视化的界面,使数据科学家和 ML 工程师能够高效地导入、分析、转换和导出数据。通过使用 Data Wrangler,用户可以显著减少准备数据所需的时间和精力,从而将更多精力集中在模型开发和部署上。本综合指南将引导您了解 Data Wrangler 的各个方面,从设置到利用其高级功能进行数据操作和模型训练。

使用 Data Wrangler 的先决条件

在开始使用 Amazon SageMaker Data Wrangler 之前,您需要确保已满足必要的先决条件。这包括访问 Amazon EC2 实例、配置必要的安全和权限,以及拥有一个活动的 Studio Classic 实例。 1. **Amazon EC2 实例**:您需要访问 Amazon Elastic Compute Cloud (Amazon EC2) 实例。有关可用实例类型以及如何在需要时请求增加配额的更多信息,请参阅 AWS 文档。 2. **安全和权限**:按照安全和权限文档中的说明配置必要的权限。这可确保您拥有使用 Data Wrangler 和相关 AWS 服务所需的适当访问权限。 3. **防火墙访问**:如果您的组织使用阻止互联网流量的防火墙,请确保您能够访问以下 URL: * `https://ui.prod-1.data-wrangler.sagemaker.aws/` * `https://ui.prod-2.data-wrangler.sagemaker.aws/` * `https://ui.prod-3.data-wrangler.sagemaker.aws/` * `https://ui.prod-4.data-wrangler.sagemaker.aws/` 4. **活动的 Studio Classic 实例**:您需要一个活动的 Studio Classic 实例。如果您还没有,请按照 Amazon SageMaker AI Domain Overview 中的说明启动新实例。请确保 KernelGateway 应用程序处于“就绪”状态后再继续。

在 SageMaker Studio Classic 中访问 Data Wrangler

完成先决条件后,您可以通过以下步骤在 SageMaker Studio Classic 中访问 Data Wrangler: 1. **登录 Studio Classic**:使用您的凭据登录 SageMaker Studio Classic。有关更多信息,请参阅 Amazon SageMaker AI Domain Overview。 2. **选择 Studio**:导航到 Studio 界面。 3. **启动应用程序**:从应用程序下拉列表中选择“Studio”。 4. **转到主页**:选择主页图标以访问主仪表板。 5. **选择数据**:点击“数据”选项。 6. **选择 Data Wrangler**:选择“Data Wrangler”以启动应用程序。 或者,您可以通过以下方式创建新的 Data Wrangler 流: 1. **选择文件**:在顶部导航栏中,选择“文件”。 2. **选择新建**:选择“新建”。 3. **选择 Data Wrangler Flow**:选择“Data Wrangler Flow”。 您还可以根据需要重命名新目录和 `.flow` 文件。请注意,Data Wrangler 的初始加载可能需要几分钟时间,并且在 KernelGateway 应用程序就绪之前可能会出现一个轮播图。

探索 Data Wrangler 功能:泰坦尼克号数据集演练

为了帮助您了解如何使用 Data Wrangler,本节将通过泰坦尼克号数据集进行演练。该数据集包含有关泰坦尼克号乘客的信息,包括他们的生存状态、年龄、性别和舱位等级。通过遵循本演练,您将学习如何使用 Data Wrangler 导入、分析、转换和导出数据。 **演练步骤:** 1. **打开 Data Wrangler Flow**:打开一个新的 Data Wrangler 流,并选择使用示例数据集,或将泰坦尼克号数据集上传到 Amazon S3 并导入到 Data Wrangler 中。 2. **分析数据集**:使用 Data Wrangler 的分析工具探索数据集并获得见解。 3. **定义数据流**:使用 Data Wrangler 的数据转换功能定义数据流。 4. **导出流**:将您的流导出到 Jupyter notebook,以创建 Data Wrangler 作业。 5. **处理数据**:处理您的数据并启动 SageMaker 训练作业,以训练 XGBoost 二分类器。

使用 Data Wrangler 导入和准备数据

您可以使用以下任一方法将泰坦尼克号数据集导入 Data Wrangler: 1. **直接从 Data Wrangler Flow 导入**:打开流并选择“使用示例数据集”。 2. **上传到 Amazon S3**:将数据集上传到 Amazon S3 存储桶,然后将其导入到 Data Wrangler 中。 要将数据集上传到 Amazon S3: 1. **下载泰坦尼克号数据集**:下载泰坦尼克号数据集。 2. **上传到 S3**:将数据集上传到您打算在此演示中使用的 AWS 区域中的 Amazon S3 存储桶。您可以使用 Amazon S3 控制台拖放文件。 成功将数据集上传到 Amazon S3 后,您可以将其导入到 Data Wrangler 中: 1. **选择导入数据**:在数据流选项卡中,选择“导入数据”按钮或“导入”选项卡。 2. **选择 Amazon S3**:选择“Amazon S3”。 3. **定位数据集**:使用导入数据集表找到您添加了泰坦尼克号数据集的存储桶。选择 CSV 文件以打开详细信息窗格。 4. **配置详细信息**:确保文件类型为 CSV,并勾选指示第一行为标题的复选框。您还可以为数据集指定一个友好名称,例如“Titanic-train”。 5. **导入**:选择“导入”按钮。 导入数据集后,它将出现在数据流选项卡中。双击节点以进入节点详细信息视图,您可以在其中添加转换或分析。

分析和可视化数据

Data Wrangler 提供了内置的转换和可视化功能来分析、清理和转换您的数据。节点详细信息视图中的右侧面板列出了所有内置转换以及一个用于添加自定义转换的部分。 **创建数据质量和洞察报告** 要获得数据洞察,请创建数据质量和洞察报告。此报告可帮助您识别缺失值和异常值等问题。它还会提醒您注意目标泄露或不平衡等潜在问题。 **创建表摘要** 1. **添加分析**:选择数据流中数据类型步骤旁边的“+”,然后选择“添加分析”。 2. **选择表摘要**:在分析区域,从下拉列表中选择“表摘要”。 3. **命名摘要**:为表摘要命名。 4. **预览**:选择“预览”以查看表的预览。 5. **保存**:选择“保存”以将其添加到您的数据流。数据将显示在“所有分析”下。 从提供的统计数据中,您可以进行观察,例如平均票价以及“cabin”、“embarked”和“age”等列中是否存在缺失值。

使用 Data Wrangler 转换数据

在分析数据后,您可以添加转换到数据流来清理和准备数据以进行训练。以下是一些您可以执行的常见转换: **删除未使用列** 1. **添加转换**:选择数据流中数据类型步骤旁边的“+”,然后选择“添加转换”。 2. **选择管理列**:在“所有步骤”列中,选择“添加步骤”,然后从标准转换列表中选择“管理列”。确保选择了“删除列”。 3. **选择要删除的列**:选择您不想用于训练的列,例如“cabin”、“ticket”、“name”、“sibsp”、“parch”、“home.dest”、“boat”和“body”。 4. **预览并添加**:选择“预览”以验证列是否已删除,然后选择“添加”。 **清理缺失值** 1. **选择处理缺失值**:选择“处理缺失值”。 2. **选择删除缺失值**:为转换器选择“删除缺失值”。 3. **选择输入列**:选择具有缺失值的列,例如“age”。 4. **预览并添加**:选择“预览”以查看新的数据帧,然后选择“添加”以将转换添加到您的流。 **使用 Pandas 进行自定义转换** 您还可以使用 Pandas 进行自定义转换来执行更复杂的数据操作。例如,您可以对分类数据使用独热编码: ```python import pandas as pd dummies = [] cols = ['pclass','sex','embarked'] for col in cols: dummies.append(pd.get_dummies(df[col])) encoded = pd.concat(dummies, axis=1) df = pd.concat((df, encoded),axis=1) ``` **使用 SQL 进行自定义转换** 您可以使用 SQL 选择特定列进行进一步分析: ```sql SELECT survived, age, fare, 1, 2, 3, female, male, C, Q, S FROM df; ```

导出数据流并与 SageMaker 集成

创建数据流后,您可以导出它以供进一步使用。一个常见的选项是将其导出到 Data Wrangler 作业 notebook。此过程会自动创建一个 Jupyter notebook,该 notebook 配置为运行 SageMaker 处理作业以执行您的 Data Wrangler 数据流。 **导出到 Data Wrangler 作业 Notebook** 1. **保存数据流**:选择“文件”,然后选择“保存 Data Wrangler Flow”。 2. **返回数据流选项卡**:返回数据流选项卡并选择数据流中的最后一步。 3. **选择导出**:选择“导出”,然后选择“Amazon S3 (通过 Jupyter Notebook)”。这将打开一个 Jupyter notebook。 4. **选择内核**:选择任何 Python 3 (Data Science) 内核。 5. **运行 Notebook**:运行 notebook 中的单元格,直到您到达“启动训练 SageMaker 作业 (可选)”部分。 您可以在 SageMaker AI 控制台的“处理”选项卡中监控 Data Wrangler 作业的状态。您还可以使用 Amazon CloudWatch 来监控您的 Data Wrangler 作业。

使用准备好的数据训练 XGBoost 分类器

在 Data Wrangler 中准备好数据后,您可以使用 Jupyter notebook 或 Amazon Autopilot 来训练 XGBoost 二分类器。Autopilot 可以根据直接从 Data Wrangler 流转换的数据自动训练和优化模型。 **使用 Jupyter Notebook 进行训练** 在启动 Data Wrangler 作业的同一 notebook 中,您可以提取准备好的数据,并使用最少的数据准备来训练 XGBoost 二分类器。 1. **升级必要模块**:使用 pip 升级必要模块并删除 `_SUCCESS` 文件: ```bash ! pip install --upgrade awscli awswrangler boto sklearn ! aws s3 rm {output_path} --recursive --exclude "*" --include "*_SUCCESS*" ``` 2. **从 Amazon S3 读取数据**:使用 awswrangler 递归读取 S3 前缀下的所有 CSV 文件。然后,将数据分割为特征和标签。 ```python import awswrangler as wr df = wr.s3.read_csv(path=output_path, dataset=True) X, y = df.iloc[:,:-1],df.iloc[:,-1] ``` 3. **创建 DMatrices 并执行交叉验证**:创建 DMatrices(XGBoost 的原生数据结构)并使用 XGBoost 二分类进行交叉验证。 ```python import xgboost as xgb dmatrix = xgb.DMatrix(data=X, label=y) params = {"objective":"binary:logistic",'learning_rate': 0.1, 'max_depth': 5, 'alpha': 10} xgb.cv( dtrain=dmatrix, params=params, nfold=3, num_boost_round=50, early_stopping_rounds=10, metrics="rmse", as_pandas=True, seed=123) ```

更新和关闭 Data Wrangler

为确保您拥有最新的功能和更新,建议定期更新 Data Wrangler Studio Classic 应用程序。要更新,请参阅有关关闭和更新 Studio Classic 应用程序的文档。 完成使用 Data Wrangler 后,建议关闭正在运行的实例以避免产生额外费用。有关如何关闭应用程序和相关实例的说明,请参阅有关关闭 Data Wrangler 的文档。

 原始链接:https://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/data-wrangler-getting-started.html

评论(0)

user's avatar

      相关工具