数据导入与预处理应用-第四章
数据清理
2
4.1.4 使用参照表清洗数据
无法直接从当前表识别出数据的错误,
需要结合外部的数据进行参考。
外部的这些数据称为参照数据或主数据
。
参照数据或主数据由专业的公司进行销
售和维护,亦有少量的参照数据可以免
费下载
本节分两方面进行讲解:
使用参照表校验数据的准确性
使用参照表使数据一致
3
4.1.4 使用参照表清洗数据
在进入示例之前,先了解下如下两个步骤:
流
流
查
查
询
询(Stream lookup)步骤
• 该步骤允许你通过转换中其他步骤的信息来查询
数据
• 主要涉及三个方面的设置:
一、要查询的步骤,即参照数据流;
二、查询时的KEY字段,包括源数据流的KEY
和参照数据流的KEY;
三、返回的字段
• 返回字段可以设置默认返回值,当在参考数据流
中无法查询到KEY值时,返回设定的默认值
• 设定好查询步骤后,对应的跳(Hop)上会出现
一个“i”标识
源数据
参照数据
4
计
计
算
算
器
器(Calculator)步骤
4.1.4 使用参照表清洗数据
该步骤的功能相当丰富,本节主要利用其计算两个字符串的相似度
计算相似度的方式:比较一条记录的两个字段,根据所选算法计算相似度
该步骤计算相似度的算法:
Levenshtein和Damerau-Levenshtein:根据编辑一个字符串到另一个字符
串所需要的步骤数,来计算两个字符串之间的距离。两个算法的区别在于前一
个算法编辑步骤只包含插入、删除、更新字符,后一个算法还包括调换字符位
置的步骤。
Jaro和Jaro-Winkler:用于计算两个字符串的相似度,其值介于0到1之间
的小数。值越大相似度越高,完全相同的两个字符串为1,无任何相似度时值为
0。后一个算法是前一个算法的扩展,它给予起始部分就相同的字符串更高的分
数。
Needleman-Wunsch:该算法以差异扣分的方式来计算距离,它主要应用
于生物信息学领域。