数据探索是对样本数据进行解释性的分析工做,它是数据挖掘和机器学习较为前期的部分,更偏重于研究数据的本质、描述数据的形态特征并解释数据的相关性。
换句话说,透过数据探索,咱们应该能够回答以下问题:
样本数据的分布怎样?有什么特色?数据之间有何种关系?数据是否知足建模要求?python
问题驱动发展,对以上问题进行解答,涉及到数据探索的两个方面工做:算法
须要说起的是,数据探索与数据预处理紧密相连的,两者在数据挖掘的中没有绝对的前后次序。好比,在数据质量分析中,就牵涉到数据预处理中的数据清洗。
本文将主要介绍数据质量分析的相关工做。机器学习
数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据通常是指不符合要求,脏数据包括如下方面:学习
对于第四种数据,理解起来比较简单,处理也很容易,所以主要针对前三种数据进行分析,至于处理手段,所用到的方法是数据预处理中的数据清洗内容。对象
数据的缺失主要包括记录的缺失和记录中某个字段信息的缺失,二者都会形成分析结果的不许确。事件
(1)缺失值产生缘由
1)有些信息暂时没法获取,或者获取代价太大。
2)有些信息被遗漏。多是忘记填写或对数据理解错误等因素,也多是因为数据采集设备的故障形成。
3)属性值不存在。在某些状况下,对一些对象来讲某些属性值不存在的,如一个未婚者的配偶姓名、一个儿童的固定收入等。数据挖掘
(2)缺失值处理方式
1)删除元组
将存在遗漏信息属性值的对象(记录)删除,从而获得一个完备的信息表。这种方法在对象有多个属性缺失值、被删除的含缺失值的对象与信息表中的数据量相比很是小的状况下是很是有效的。然而这种方法丢弃了大量隐藏在这些对象中的信息。在信息表中对象不多的状况下会影响到结果的正确性,可能致使数据发生偏离,从而引出错误的结论。
2)数据填补
数据挖掘中经常使用的有如下几种补齐方法:
特殊值填充、平均值填充、就近补齐
使用算法对缺失值进行估计,包括K最近邻法、回归、指望值最大化方法
3)不处理
这种方式对模型有特定要求,须要模型可以处理缺失值。变量
异常值是指样本中的个别值,其数据明显偏离其他的观测值。异常值也称为离群点,异常值的分析也称为离群点分析。方法
(1)异常值发现
1)简单计量分析
能够先对变量作一个描述性统计,进而查看哪些数据是不合理的。最经常使用的统计量是最大值和最小值,用来判断这个变量的取值是否超出了合理的范围。如客户年龄的最大值为199岁,则该变量的取值存在异常。
2)3σ原则
若是数据服从正态分布,在3σ原则下,异常值被定义为一组测定值中与平均值的误差超过3倍标准差的值。在正态分布的假设下,距离平均值3σ以外的值出现的几率为P(|x-μ|>3σ)≤0.003,属于极个别小几率事件。
若是数据不服从正态分布,也能够用远离平均值的多少倍标准差来描述。
3)箱型图分析
箱型图提供了识别异常值的一个标准:异常值一般被定义为小于QL-1.5IQR或大于Qu+1.5IQR的值。QL成为下四分位数,表示所有观察值中有四分之的数据取值比它小;Qu称为上四分位数,表示所有观察值中有四分之一的数据取值比它大;IQR称为四分位数间距,是上四分位数与下四分位数之差,其间包含了所有观察值的一半。统计
(2)异常值处理方式
异常值的处理与缺失值相似,简要以下:
1)删除含有异常值的记录
2)将异常值视为缺失值,使用缺失值处理方法来处理
3)不处理
数据不一致性是指数据的矛盾性、不相容性等。
在数据挖掘过程当中,不一致数据的产生主要发生在数据集成过程当中,这多是因为从不一样的数据源、对于从新存放的数据未能进行一致性形成的。例如,两张表中都存储了用户的电话号码,但在用户的电话号码发生改变时只更新了一张表中的数据,那么这两张表中就有了不一致的数据。