使用 Amazon SageMaker Studio 经典笔记本中的交互式数据准备小工具获取数据见解 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon SageMaker Studio 经典笔记本中的交互式数据准备小工具获取数据见解

可使用 Data Wrangler 数据准备小部件与数据进行交互、获取可视化效果、探索切实可行的见解并修复数据质量问题。

您可以通过 Amazon SageMaker Studio Classic 笔记本访问数据准备小工具。对于每一列,该组件会创建可视化,帮助您更好地了解其分布。如果某列存在数据质量问题,其标题中会显示警告。

要查看数据质量问题,请选择显示警告的列标题。您可以使用从见解和可视化中获得的信息,应用小部件的内置转换来帮助您解决问题。

例如,小部件可能检测到有一列只有一个唯一值,并向您显示警告。警告中提供了从数据集中删除该列的选项。

开始运行小部件

可使用以下信息,帮助您开始运行笔记本。

在 Amazon SageMaker Studio 经典版中打开笔记本电脑。有关打开笔记本的信息,请参阅创建或打开 Amazon SageMaker Studio 经典笔记本电脑

重要

要运行小部件,笔记本必须使用以下映像之一:

  • Python 3 (Data Science) 及 Python 3.7

  • Python 3 (Data Science 2.0) 及 Python 3.8

  • Python 3 (Data Science 3.0) 及 Python 3.10

  • SparkAnalytics 1.0

  • SparkAnalytics 2.0

有关映像的更多信息,请参阅可用的 Amazon SageMaker 图片

可使用以下代码导入数据准备小部件和 Pandas。小部件使用 Pandas 数据框分析数据。

import pandas as pd import sagemaker_datawrangler

以下示例代码将文件加载到名为 df 的数据框中。

df = pd.read_csv("example-dataset.csv")

您可以使用能以 Pandas 数据框对象形式加载的任何格式的数据集。有关 Pandas 格式的更多信息,请参阅 IO 工具(文本、CSV、HDF5 等)

以下单元格运行 df 变量以启动小部件。

df

数据框的顶部包含以下选项:

  • 查看 Pandas 表 – 在交互式可视化与 Pandas 表之间切换。

  • 使用数据集中的所有行计算见解。使用整个数据集可能会增加生成见解所需的时间。– 如果不选择此选项,Data Wrangler 将为数据集的前 10000 行计算见解。

数据框会显示数据集的前 1000 行。每个列标题都包含一个堆叠条形图,显示该列的特征。此图显示了有效值、无效值和缺失值的比例。您可以将鼠标悬停在堆叠条形图的不同部分上,以获得计算出的百分比。

每列的标题中都有可视化。以下显示了列可能具有的可视化类型:

  • 分类 – 条形图

  • 数字 – 直方图

  • 日期时间 – 条形图

  • 文本 – 条形图

对于每种可视化,数据准备小部件都以橙色突出显示异常值。

当您选择一列时,它会打开一个侧面板。侧面板显示了见解选项卡。该窗格提供了以下类型值的计数:

  • 无效值 – 类型与列类型不匹配的值。

  • 缺失值 – 缺少的值,如 NaNNone

  • 有效值 – 既不缺失也非无效的值。

对于数字列,见解选项卡显示了以下汇总统计数据:

  • 最小值 – 最小的值。

  • 最大值 – 最大的值。

  • 平均值 – 值的平均值。

  • 众数 – 出现频率最高的值。

  • 标准差 – 值的标准差。

对于分类列,见解选项卡显示了以下汇总统计数据:

  • 唯一值 – 列中唯一值的数量。

  • 最高频数 – 出现频率最高的值。

标题中带有警告图标的列存在数据质量问题。选择一列可打开数据质量选项卡,您可以使用该选项卡查找转换,以帮助解决问题。警告具有以下严重性级别之一:

  • 低 – 可能不会影响您的分析,但可能有助于修复的问题。

  • 中 – 可能会影响您的分析,但可能不是需要修复的关键问题。

  • 高 – 我们强烈建议修复的严重问题。

注意

小部件对列进行排序,将存在数据质量问题的值显示在数据框顶部。还会突出显示导致问题的值。突出显示的颜色与严重性级别相对应。

建议的转换下,可以选择一种转换来修复数据质量问题。小部件可以提供多种转换以修复问题。它可以为最适合问题的转换提供建议。您可以将光标移到转换上,获取有关转换的更多信息。

要将转换应用于数据集,可选择应用并导出代码。转换会修改数据集,并使用修改后的值更新可视化。转换的代码显示在笔记本的下一个单元格中。如果对数据集应用其他转换,小部件会将该转换追加到单元格。您可以使用小部件生成的代码执行以下操作:

  • 进行自定义,以更好地满足您的需求。

  • 用于您自己的工作流中。

您可以通过重新运行笔记本中的所有单元格,重现所做的所有转换。

小部件可以为目标列提供见解和警告。目标列即您尝试预测的列。可使用以下过程获取目标列见解。

要获取目标列见解,请执行以下操作。

  1. 选择要用作目标列的列。

  2. 选择选择为目标列

  3. 选择问题类型。小部件的见解和警告是根据问题类型定制的。以下是问题类型:

    • 分类 – 目标列包含分类数据。

    • 回归 – 目标列包含数字数据。

  4. 选择运行

  5. (可选)在目标列见解下,选择一个建议的转换。

小部件中见解和转换的参考

对于特征列(不是目标列的列),您可以获得以下见解,以警告您数据集存在问题。

  • 缺失值 – 该列包含缺失值,例如 NoneNaN(不是数字)或 NaT(不是时间戳)。许多机器学习算法在输入数据中不支持缺失值。因此,填充或删除缺失数据的行是至关重要的数据准备步骤。如果您看到缺失值警告,可以使用以下转换之一来纠正此问题。

    • 删除缺失 – 删除含缺失值的行。如果缺失数据的行比例很小并且不适合填补缺失值,那么我们建议删除这些行。

    • 替换为新值 – 将文本缺失值替换为 Other。您可以在输出代码中将 Other 更改为其他值。用 0 替换数字缺失值。

    • 替换为平均值 – 用列的平均值替换缺失值。

    • 替换为中位数 – 用列的中位数替换缺失值。

    • 删除列 – 从数据集中删除含缺失值的列。当缺失数据的行比例很高时,我们建议删除整列。

  • 伪装的缺失值 – 该列包含伪装的缺失值。伪装的缺失值是指未明确编码为缺失值的值。例如,值可能为 Placeholder,而不是采用 NaN 来表示缺失值。您可以使用以下转换之一来处理缺失值:

    • 删除缺失 – 删除含缺失值的行

    • 替换为新值 – 将文本缺失值替换为 Other。您可以在输出代码中将 Other 更改为其他值。用 0 替换数字缺失值。

  • 常量列 – 该列只有一个值。因此,该列没有预测能力。我们强烈建议使用删除列转换,将该列从数据集中删除。

  • ID 列 – 该列没有重复值。该列中所有的值都是唯一的。可能是 ID 或数据库密钥。如果没有更多信息,该列并没有预测能力。我们强烈建议使用删除列转换,将该列从数据集中删除。

  • 高基数 – 该列包含比例很高的唯一值。高基数限制了分类列的预测能力。检查该列在分析中的重要性,并考虑使用删除列转换将其删除。

对于目标列,您可以获得以下见解,以警告您数据集存在问题。您可以使用警告中提供的建议转换来纠正问题。

  • 目标中的混合数据类型(回归)– 目标列中存在某些非数字值。可能存在数据输入错误。对于包含无法转换的值的行,我们建议删除。

  • 频繁标签 – 目标列中某些值的出现频率高于回归环境中的正常值。数据收集或处理中可能存在错误。频繁出现的类别可能表明该值被用作默认值,或者是缺失值的占位符。我们建议使用替换为新值转换,将缺失值替换为 Other

  • 每个类的实例太少 – 目标列具有很少出现的类别。有些类别的行数不足以让目标列发挥作用。您可以使用以下转换之一:

    • 删除稀有目标 – 删除观察值少于十个的唯一值。例如,如果 cat 在列中出现九次,则将其删除。

    • 替换稀有目标 – 将数据集中很少出现的类别替换为 Other

  • 类别过于不平衡(多类分类)– 数据集中有些类别的出现频率比其他类别高得多。类别不平衡可能会影响预测精度。为使预测尽可能准确,我们建议使用包含当前出现频率较低的类别的行来更新数据集。

  • 大量的类/过多的类 – 目标列中存在大量的类。类过多可能会导致训练时间加长或预测质量低下。我们建议执行以下操作之一:

    • 将某些类别分组到自己的类别中。例如,如果六个类别密切相关,我们建议对它们使用单个类别。

    • 使用对多个类别具有弹性的机器学习算法。