数据清洗是在汇聚多个维度、多个来源、多种结构的数据之后,对数据进行抽取、转换和集成加载。在这个过程中,除了更正、修复系统中的一些错误数据之外,更多的是对数据进行归并整理,并储存到新的存储介质中。
2.4.1.1 单数据源定义层
违背字段约束条件(日期出现1月0日)、字段属性依赖冲突(两条记录描述同一个人的某一个属性,但数值不一致)、违反唯一性(同一个主键ID出现了多次)。
2.4.1.2 单数据源实例层
单个属性值含有过多信息、拼写错误、空白值、噪声数据、数据重复、过时数据等。
2.4.1.3 多数据源的定义层
同一个实体的不同称呼(笔名和真名)、同一种属性的不同定义(字段长度定义不一致、字段类型不一致等)。
2.4.1.4 多数据源的实例层
数据的维度、粒度不一致(有的按GB记录存储量,有的按TB记录存储量;有的按照年度统计,有的按照月份统计)、数据重复、拼写错误。
此外,还有在数据处理过程中产生的二次数据,包括数据噪声、数据重复或错误的情况。数据的调整和清洗涉及格式、测量单位和数据标准化与归一化。数据不确定性有两方面含义:数据自身的不确定性和数据属性值的不确定性。前者可用概率描述,后者有多重描述方式,如描述属性值的概率密度函数,以方差为代表的统计值等。
对于数据质量中普遍存在的空缺值、噪声值和不一致数据的情况,可以采用传统的统计学方法、基于聚类的方法、基于距离的方法、基于分类的方法和基于关联规则的方法等来实现数据清洗。传统的数据清洗和大数据清洗方法的对比如表2-3所示。(www.xing528.com)
表2-3 传统的数据清洗和大数据清洗方法的对比
在大数据清洗中,根据缺陷数据类型可分为异常记录检测、空值的处理、错误值的处理、不一致数据的处理和重复数据的检测。其中异常记录检测和重复记录检测为数据清洗的两个核心问题。
(1)异常记录检测包括解决空值、错误值和不一致数据的方法。
(2)空值的处理一般采用估算方法,例如采用均值、众数、最大值、最小值、中位数填充。但估值方法会引入误差,如果空值较多,会使结果偏离较大。
(3)错误值的处理通常采用统计方法来处理,例如偏差分析、回归方程、正态分布等。
(4)不一致数据的处理主要体现为数据不满足完整性约束。可以通过分析数据字典、元数据等,整理数据之间的关系进行修正。不一致数据通常是由于缺乏数据标准而产生的。
(5)重复数据的检测算法可以分为基于字段匹配的算法、递归的字段匹配算法、Smith-Waterman算法、基于编辑距离的字段匹配算法和改进余弦相似度函数。这些算法的对比如表2-4所示。
表2-4 重复数据的检测算法对比
大数据的清洗工具主要有DataWrangler和Google Refine等。DataWrangle是一款由斯坦福大学开发的在线数据清洗、数据重组软件。主要用于去除无效数据,将数据整理成用户需要的格式等。Google Refine设有内置算法,可以发现一些拼写不一样但实际上应分为一组的文本。除了数据管家功能,Google Refine还提供了一些有用的分析工具,例如排序和筛选。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。