“删除重复行”组件
本文介绍 Azure 机器学习设计器中的一个组件。
使用此组件从数据集中删除可能的重复数据。
例如,假设数据看上去如下所示,其中包含了多个患者记录。
PatientID | Initials | 性别 | Age | 入院时间 |
---|---|---|---|---|
1 | F.M. | M | 53 | 一月 |
2 | F.A.M. | M | 53 | 一月 |
3 | F.A.M. | M | 24 | 一月 |
3 | F.M. | M | 24 | 二月 |
4 | F.M. | M | 23 | 二月 |
F.M. | M | 23 | ||
5 | F.A.M. | M | 53 | |
6 | F.A.M. | M | NaN | |
7 | F.A.M. | M | NaN |
显然,这个示例有多个列,其中可能有重复的数据。 它们是否确实是重复项取决于你对数据的了解。
例如,你可能知道许多患者具有相同的姓名。 不使用任何姓名列消除重复项,仅使用“ID”列进行消除。 这样,无论患者是否具有相同的姓名,都只会筛选出具有重复 ID 值的行。
或者,可以选择允许 ID 字段中存在重复项,而使用一些其他的文件组合来查找唯一记录,如名字、姓氏、年龄和性别。
若要设置用于判断行是否重复的条件,请将一列或一组列指定为键。 仅当两行的所有键列中的值相等时,才会将两行视为重复。 如果任何行缺少键值,则不会将这些行视为重复行。 例如,如果在上表中将“性别”和“年龄”设置为“键”,则第 6 行和第 7 行不是重复行,因为其缺少“年龄”值。
运行此组件时,它会创建一个候选数据集,并返回一个行集,这些行在指定的列集中没有重复项。
重要
源数据集未更改;此组件创建一个新数据集,该数据集根据指定的条件进行筛选以排除重复项。
如何使用“删除重复行”
将此组件添加到管道。 可以在“数据转换”下的“操作”中找到“删除重复行”组件。
连接要检查其是否有重复行的数据集。
在“属性”窗格的“键列选择筛选器表达式”下,单击“启动列选择器”,选择用于标识重复项的列 。
在此上下文中,“键”并不表示唯一标识符。 使用“列选择器”选择的所有列都指定为“键列”。 所有未选定的列都被视为非键列。 所选择的作为键的列的组合确定了记录的唯一性。 (可将其想象成使用多个等值连接的 SQL 语句。)
示例:
- “我想要确保 ID 是唯一的”:仅选择“ID”列。
- “我想要确保名字、姓氏和 ID 的组合是唯一的”:选中所有三个列。
使用“保留第一个重复行”复选框指示在找到重复项时要返回的行:
- 如果选择此选项,则返回第一行,丢弃其他行。
- 如果取消选择此选项,则最后一个重复行将保留在结果中,而丢弃其他行。
提交管道。
若要查看结果,请右键单击组件,然后选择“可视化”。
提示
如果结果难以理解,或者你不想考虑某些列,则可使用在数据集中选择列组件来删除列。
后续步骤
请参阅 Azure 机器学习可用的组件集。