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

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

使用 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

有关映像的更多信息,请参阅亚马逊 SageMaker 图片可用于 Studio Classic

可使用以下代码导入数据准备小部件和 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

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

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

  • 最小值 – 最小的值。

  • 最大值 – 最大的值。

  • 平均值 – 值的平均值。

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

  • 标准差 – 值的标准差。

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

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

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

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

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

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

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

注意

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

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

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

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

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

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

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

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

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

  2. 选择选择为目标列

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

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

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

  4. 选择运行

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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