在这篇文章中,我们介绍了一个新的分析 数据质量和洞察报告 of 亚马逊SageMaker数据牧马人. 此分析可帮助您验证文本特征的正确性并发现无效行以进行修复或遗漏。
Data Wrangler 将汇总和准备机器学习 (ML) 数据所需的时间从几周缩短到几分钟。 您可以简化数据准备和特征工程的过程,并从单个可视化界面完成数据准备工作流程的每个步骤,包括数据选择、清理、探索和可视化。
解决方案概述
数据预处理通常涉及清理文本数据,例如电子邮件地址、电话号码和产品名称。 该数据可以具有可以由正则表达式描述的潜在完整性约束。 例如,要被视为有效,本地电话号码可能需要遵循以下模式 [1-9][0-9]{2}-[0-9]{4}
,它将匹配一个非零数字,然后是两个数字,然后是一个破折号,然后是四个数字。
导致无效数据的常见情况可能包括不一致的人工输入,例如各种格式的电话号码(5551234 与 555 1234 与 555-1234)或意外数据,例如 0、911 或 411。对于客户呼叫中心,省略诸如 0、911 或 411 之类的数字并验证(并且可能正确)诸如 5551234 或 555 1234 之类的条目非常重要。
不幸的是,尽管存在文本约束,但它们可能不会随数据一起提供。 因此,准备数据集的数据科学家必须通过查看数据手动发现约束。 这可能很乏味、容易出错且耗时。
模式学习会自动分析您的数据并显示可能适用于您的数据集的文本约束。 对于电话号码的示例,模式学习可以分析数据并确定绝大多数电话号码都遵循文本约束 [1-9][0-9]{2}-[0-9][4]
. 它还可以提醒您存在无效数据的示例,以便您可以排除或更正它们。
在以下部分中,我们将演示如何使用虚构的产品类别数据集和 SKU(库存单位)代码在 Data Wrangler 中使用模式学习。
该数据集包含按公司、品牌和能耗描述产品的特征。 值得注意的是,它包含一个格式错误的功能 SKU。 此数据集中的所有数据都是虚构的,并使用随机品牌名称和设备名称随机创建。
先决条件
在开始使用 Data Wrangler 之前, 下载 样本数据集并将其上传到 亚马逊简单存储服务 (亚马逊 S3)。 有关说明,请参阅 上传对象.
导入您的数据集
要导入数据集,请完成以下步骤:
导入后,我们可以导航到数据流。
获取数据洞察
在此步骤中,我们将创建一个数据洞察报告,其中包含有关数据质量的信息。 有关详细信息,请参阅 深入了解数据和数据质量. 完成以下步骤:
- 点击 数据流 选项卡,选择旁边的加号 资料类型.
- 获取数据洞察.
- 针对 分析类型,选择 数据质量和洞察报告.
- 对于这篇文章,离开 目标列 和 问题类型 空白。如果您计划将数据集用于具有目标特征的回归或分类任务,您可以选择这些选项,并且报告将包括有关您的输入特征如何与目标相关的分析。 例如,它可以生成有关目标泄漏的报告。 有关详细信息,请参阅 目标列.
- 创建.
我们现在有一份数据质量和数据洞察报告。 如果我们向下滚动到 SKU 部分,我们可以看到描述 SKU 的模式学习示例。 此功能似乎包含一些无效数据,需要采取可行的补救措施。
在我们清理 SKU 功能之前,让我们向上滚动到 品牌 部分以查看更多见解。 在这里,我们发现了两种模式,表明大多数品牌名称是由单词字符或字母字符组成的单个单词。 一个 字字 是下划线或可能出现在任何语言的单词中的字符。 例如,字符串 Hello_world
和 écoute
两者都由单词字符组成: H
和 é
.
对于这篇文章,我们不清理此功能。
查看模式学习见解
让我们回到清洁 SKU 并放大模式和警告消息。
如以下屏幕截图所示,模式学习显示出与 97.78% 的数据匹配的高精度模式。 它还显示了一些匹配模式的示例以及不匹配模式的示例。 在非匹配项中,我们看到了一些无效的 SKU。
除了浮出水面的模式之外,如果存在高精度模式以及一些不符合模式的数据,则可能会出现警告,指示清理数据的潜在操作。
我们可以省略无效数据。 如果我们在正则表达式上选择(右键单击),我们可以复制表达式 [A-Z]{3}-[0-9]{4,5}
.
删除无效数据
让我们创建一个转换来忽略与此模式不匹配的不合格数据。
- 点击 数据流 选项卡,选择旁边的加号 资料类型.
- 添加变换.
- 添加步骤.
- 寻找
regex
并选择 具备直接向名片者发送讯息或电邮. - 针对 改造,选择 将不匹配转换为缺失.
- 针对 输入列,选择
SKU
. - 针对 模式,输入我们的正则表达式。
- 预览,然后选择 地址.
现在,无关数据已从特征中删除。 - 要删除行,请添加步骤 手柄缺失 然后选择转换 掉落丢失.
-
SKU
作为输入列。
我们返回删除错误数据的数据流。
结论
在这篇文章中,我们向您展示了如何使用数据洞察中的模式学习功能来查找数据集中的无效文本数据,以及如何更正或忽略这些数据。
现在您已经清理了一个文本列,您可以使用 分析 或者你可以申请 内置转换 进一步处理您的数据。 当您对数据感到满意时,您可以 训练模型 亚马逊SageMaker自动驾驶仪或 导出数据 到 Amazon S3 等数据源。
我们要感谢 Nikita Ivkin 的深思熟虑的评论。
关于作者
维沙尔·卡普尔 是 AWS AI 的高级应用科学家。 他热衷于帮助客户了解他们在 Data Wrangler 中的数据。 在业余时间,他骑山地自行车、滑雪板,并与家人共度时光。
佐哈尔卡宁 是亚马逊人工智能的首席科学家。 他的研究兴趣是大规模和在线机器学习算法领域。 他为 Amazon SageMaker 开发了无限可扩展的机器学习算法。
阿杰夏尔马 是 Amazon SageMaker 的首席产品经理,他专注于 Data Wrangler,这是一种面向数据科学家的可视化数据准备工具。 在加入 AWS 之前,Ajai 是麦肯锡公司的一名数据科学专家,在那里他领导了全球领先的金融和保险公司以 ML 为重点的项目。 Ajai 对数据科学充满热情,喜欢探索最新的算法和机器学习技术。