获取有关数据和数据质量的见解 - Amazon SageMaker

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

获取有关数据和数据质量的见解

使用数据质量和见解报告对您导入到 Data Wrangler 中的数据进行分析。建议您在导入数据集之后创建报告。可以使用该报告来协助您清理和处理自己的数据。该报告为您提供诸如缺失值数量和异常值数量之类的信息。如果您的数据存在问题,例如目标泄漏或不平衡,则见解报告可以让您注意到这些问题。

按照以下过程创建数据质量和见解报告。该过程假设您已将数据集导入到 Data Wrangler 流中。

创建数据质量和见解报告
  1. 选择 Data Wrangler 流中节点旁边的 +

  2. 选择获取数据见解

  3. 对于分析名称,为见解报告指定名称。

  4. (可选)对于目标列,指定目标列。

  5. 对于问题类型,请指定回归分类

  6. 对于数据大小,指定下列项之一:

    • 50 K – 使用您导入的数据集的前 50000 行来创建报告。

    • 整个数据集 – 使用您导入的整个数据集来创建报告。

    注意

    针对整个数据集创建数据质量和见解报告需要使用 Amazon SageMaker 处理任务。 SageMaker 处理任务预置了获取所有数据见解所需的额外计算资源。有关 SageMaker 处理任务的更多信息,请参阅带 SageMaker 处理功能的数据转换工作负载

  7. 选择创建

下面的主题说明了报告的各个部分:

可以下载报告或在线查看。要下载报告,请选择屏幕右上角的下载按钮。下图显示了该按钮。

显示下载按钮的示例。

Summary

见解报告对数据进行了简单汇总,其中包括缺失值、无效值、特征类型、异常值计数等一般信息。还可能包括高严重性警告,这些警告指出数据可能存在问题。我们建议您对警告进行调查研究。

下面是一个报告摘要示例。

报告摘要示例。

目标列

在创建数据质量和见解报告时,Data Wrangler 会为您提供选项来选择目标列。目标列是要预测的列。在选择目标列时,Data Wrangler 会自动创建目标列分析。它还按特征的预测能力顺序对特征进行排名。选择目标列时,必须指定是要解决回归问题还是分类问题。

对于分类,Data Wrangler 会显示最常见分类的表和直方图。分类是指类别。它还会显示目标值缺失或无效的观测值或行。

下图显示了分类问题的目标列分析示例。

目标列分析示例。

对于回归,Data Wrangler 会显示目标列中所有值的直方图。它还会显示带有缺失、无效或异常值目标值的观测值或行。

下图显示了回归问题的目标列分析示例。

目标列分析示例。

快速模型

快速模型提供您用于训练数据的模型的预期预测质量的估计值。

Data Wrangler 将您的数据拆分为训练层和验证层。它使用 80% 的样本进行训练,使用 20% 的值进行验证。对于分类,对样本进行分层分割。对于分层分割,每个数据分区的标签比例相同。对于分类问题,训练层和分类层之间的标签比例必须相同,这一点非常重要。Data Wrangler 使用默认的超参数训练XGBoost模型。它对验证数据进行提前停止,并执行最少的特征预处理。

对于分类模型,Data Wrangler 会返回模型摘要和混淆矩阵。

以下是分类模型摘要示例。要详细了解所返回的信息,请参阅 定义

分类模型摘要示例。

以下是快速模型返回的混淆矩阵的示例。

混淆矩阵示例。

混淆矩阵提供了以下信息:

  • 预测标签与真实标签匹配的次数。

  • 预测标签与真实标签不匹配的次数。

真实标签表示数据中的实际观察值。例如,如果您使用模型来检测欺诈性交易,那么真实标签表示实际上是欺诈性交易或非欺诈性交易。预测标签表示模型为数据分配的标签。

可以使用混淆矩阵来查看模型对状况存在或不存在的预测程度。如果您预测的是欺诈性交易,可以使用混淆矩阵来了解模型的敏感性和特定性。敏感性是指模型检测欺诈性交易的能力。特定性是指该模型能够避免将非欺诈性交易检测为欺诈性交易。

以下是回归问题的快速模型输出的示例。

回归问题的快速模型输出示例。

特征摘要

当您指定目标列时,Data Wrangler 会根据特征的预测能力对特征进行排序。预测能力是在将数据拆分为 80% 训练层和 20% 验证层之后,根据数据来衡量的。Data Wrangler 在训练层上分别拟合每个特征的模型。它应用最少的特征预处理并衡量验证数据的预测性能。

它将分数标准化为范围 [0,1]。预测分数越高,表示列自身对用于预测目标更有用。分数较低的列表示无法用于预测目标列的列。

某一列无法单独用于预测,但与其他列一起使用时具有预测性,这种情况并不常见。您可以放心地使用预测分数来确定数据集内的某个特征是否具有预测性。

分数低通常表示该特征是多余的。分数为 1 表示完美的预测能力,这通常表示目标泄漏。目标泄漏通常发生在数据集包含预测时不可用的列时。例如,它可能是目标列的重复项。

以下是显示每个特征预测值的表和直方图的示例。

显示每个特征预测值的示例汇总表。
显示每个特征预测值的直方图示例。

样本

Data Wrangler 提供有关样本是否异常或数据集内是否存在重复项的信息。

Data Wrangler 使用孤立森林算法来检测异常样本。孤立森林算法将异常分数与数据集的每个样本(行)相关联。异常分数低表示样本异常。高分数与非异常样本关联。异常分数为负的样本通常被视为异常样本,异常分数为正的样本被视为非异常样本。

查看可能存在异常的样本时,我们建议您注意异常值。例如,可能会由于收集和处理数据时出错而存在的异常值。根据 Data Wrangler 对孤立森林算法的实施,以下是异常程度最高的样本示例。我们建议您在检查异常样本时运用专业领域知识和业务逻辑。

Data Wrangler 会检测重复行,并计算您的数据中重复行的比例。某些数据来源可能包含有效的重复项。其他数据来源可能具有表明数据收集存在问题的重复项。由于数据收集错误而产生的重复样本可能会干扰依赖于将数据拆分为独立训练层和验证层的机器学习流程。

以下是见解报告中可能受到重复样本影响的元素:

  • 快速模型

  • 预测能力估计

  • 自动超参数优化

可以使用管理行下的删除重复项转换,从数据集内删除重复样本。Data Wrangler 会显示重复程度最高的行。

定义

以下是数据见解报告中使用的技术术语的定义。

Feature types

以下是每种特征类型的定义:

  • 数字 – 数字值可以是浮点数或整数,例如年龄或收入。机器学习模型假设数字值是有序的,并且在数字值上定义了距离。例如,3 比 10 更接近 4,3 < 4 < 10。

  • 分类 – 列条目属于一组唯一值,这组值通常比列中的条目数小得多。例如,长度为 100 的列可以包含唯一值 DogCat、和 Mouse。值可以是数字、文本或两者的组合。HorseHouse8Love3.1 都可以是有效值,可在同一个分类列中找到。与数字特征相比,即使所有值都是数字,机器学习模型也不会对分类特征值采用顺序或距离。

  • 二进制 – 二进制特征是一种特殊的分类特征类型,其中唯一值集的基数为 2。

  • 文本 – 文本列包含许多非数字唯一值。在极端情况下,该列的所有元素都是唯一的。在极端情况下,没有两个条目是相同的。

  • 日期时间 – 日期时间列包含有关日期或时间的信息。其中可以同时包含有关日期和时间的信息。

Feature statistics

以下是每个特征统计数据的定义:

  • 预测能力 – 预测能力衡量该列在预测目标方面的作用如何。

  • 异常值(在数字列中)— Data Wrangler 使用两个对异常值具有鲁棒性的统计数据来检测异常值:中位数和稳健标准差 ()。RSTDRSTD是通过将特征值裁剪到 [5 个百分位数,95 个百分位数] 范围并计算剪切向量的标准差得出的。所有大于中位数 + 5 * RSTD 或小于中位数-5 * 的值RSTD都被视为异常值。

  • 偏度(在数字列中)– 偏度测量分布的对称性,并定义为分布的第三矩除以标准差的三次方。正态分布或任何其他对称分布的偏度为零。正值表示分布的右尾比左尾要长。负值表示分布的左尾比右尾要长。根据经验法则,当偏度的绝对值大于 3 时,分布被视为不对称。

  • 峰度(在数字列中)– Pearson 峰度测量分布尾部的沉重度。它被定义为分布的第四矩除以第二矩的平方。正态分布的峰度为 3。峰度值低于 3 意味着分布集中在均值周围,尾部比正态分布的尾部轻。峰度值大于 3 表示尾部或异常值较重。

  • 缺失值 – 类似 NULL 的对象、空字符串以及仅由空格组成的字符串被视为缺失值。

  • 数值特征或回归目标的有效值 – 可以转换为有限浮点数的所有值均为有效值。缺失值无效。

  • 分类、二进制或文本特征的有效值或分类目标的有效值 – 所有未缺失的值均为有效值。

  • 日期时间特征 – 可以转换为日期时间对象的所有值均为有效值。缺失值无效。

  • 无效值 – 缺失或无法正确转换的值。例如,在数字列中,不能转换字符串 "six" 或 null 值。

Quick model metrics for regression

以下是快速模型指标的定义:

  • R2 或决定系数 – R2 是模型预测的目标差异的比例。R2 在 [-infty, 1] 范围内。1 是完美预测目标的模型的分数,0 是始终预测目标均值的平凡模型的分数。

  • MSE或均方误差 — MSE 在 [0,infty] 范围内。0 是完美预测目标的模型的分数。

  • MAE或平均绝对误差 — MAE 在 [0, infty] 范围内,其中 0 是完美预测目标的模型的分数。

  • RMSE或均方根误差 — RMSE 在 [0, infty] 范围内,其中 0 是完美预测目标的模型的分数。

  • 最大误差 – 数据集上误差的最大绝对值。最大误差在 [0,infty] 范围内。0 是完美预测目标的模型的分数。

  • 绝对误差中值 – 绝对误差中位数在 [0, infty] 范围内。0 是完美预测目标的模型的分数。

Quick model metrics for classification

以下是快速模型指标的定义:

  • 准确性 – 准确性是准确预测的样本的比率。准确性在 [0, 1] 范围内。0 是不正确预测所有样本的模型的分数,1 是完美模型的分数。

  • 平衡准确性 – 平衡准确性是调整分类权重来平衡数据时准确预测的样本的比率。无论分类的频率如何,所有分类都被赋予相同的重要性。平衡准确性在 [0, 1] 范围内。0 是错误预测所有样本的模型的分数,1 是完美模型的分数。

  • AUC(二进制分类)— 这是接收器工作特性曲线下方的区域。AUC在 [0, 1] 范围内,随机模型返回的分数为 0.5,完美模型返回的分数为 1。

  • AUC(OVR) — 对于多类分类,这是使用一个标签与其余标签分别计算的接收器操作特性曲线下方的面积。Data Wrangler 会报告区域的平均值。AUC在 [0, 1] 范围内,随机模型返回的分数为 0.5,完美模型返回的分数为 1。

  • 精度 – 精度是为特定分类定义的。精度是模型归类为该分类的所有实例中真阳性的比例。精度在 [0, 1] 范围内。1 是该分类没有误报的模型的分数。对于二进制分类,Data Wrangler 会报告正类的精度。

  • 查全率 – 查全率是针对特定分类定义的。查全率是成功检索的相关分类实例的比例。查全率在 [0, 1] 范围内。1 是正确对分类的所有实例进行分类的模型的分数。对于二进制分类,Data Wrangler 会报告正类的查全率。

  • F1 – F1 是为特定分类定义的。它是精度和查全率之间的调和平均数。F1 在 [0, 1] 范围内。1 是完美模型的分数。对于二进制分类,Data Wrangler 会报告具有正值的分类的 F1。

Textual patterns

模式使用一种易于阅读的格式描述字符串的文本格式。以下是文本模式的示例:

  • {digits:4-7}”描述了长度介于 4 到 7 之间的数字序列。

  • {alnum:5}”描述了一个长度正好为 5 的字母数字字符串。

Data Wrangler 通过查看数据中的非空字符串样本,来推断模式。它可以描述许多常用的模式。置信度以百分比形式表示,指示估计有多少数据与该模式匹配。使用文本模式,可以了解需要更正或删除数据中的哪些行。

以下内容描述了 Data Wrangler 可识别的模式:

模式 文本格式

{alnum}

字母数字字符串

{any}

任何单词字符串

{digits}

数字序列

{lower}

小写单词

{mixed}

大小写混合的单词

{name}

以大写字母开头的单词

{upper}

大写单词

{whitespace}

空格字符

单词字符可以是下划线,也可以是可能会出现在任何语言的单词中的字符。例如,字符串“Hello_word”和“écoute”都由单词字符组成。“H”和“é”都是单词字符的示例。