数据质量分析
数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据一般是指不符合要求,以及不能直接进行相应分析的数据。
在常见的数据挖掘工作中,脏数据包括如下内容:
- 缺失值
- 异常值
- 不一致的值
- 重复的值以及包含特殊符号的数据
缺失值分析
数据的缺失主要包括记录的缺失和记录中某个字段信息的缺失。
(1)缺失值产生的原因
1)有些信息暂时无法获取,或者获取信息的代价太大
2)有些信息被遗漏。(输入时认为不重要、忘记填写或者对数据理解错误等认为因素,也可能是数据采集设备的故障,存储介质的故障,传输媒体的故障等非人为原因引起)
3)属性值不存在
某些情况下缺失值并不意味着数据有错误。如一个未婚者的配偶姓名,一个儿童的固定收入。
(2)缺失值的影响
1)数据挖掘建模将丢失大量的有用信息
2)数据挖掘模型所表现出的不确定性更加显著,模型中蕴涵的规律更加难以把握
3)包含空值的数据会使建模过程陷入混乱,导致不可靠的输出
(3)缺失值分析
使用简单的统计分析,可以得到含有缺失值的属性的个数,以及每个属性的未缺失数、缺失数和缺失率等
从总体上来说,缺失值的处理分为删除存在缺失值的记录、
对可能值进行插补 和不处理三种情况。
异常值分析
异常值分析是检验数据是否有录入错误以及含有不合常理的数据。
异常值也称为离群点,异常值的分析也称为离群点分析。
(1)简单统计量分析
对变量做描述性统计,观测数据是否是在合理的范围
(2)3σ原则
如果数据服从正态分布,则在距离平均值3σ之外的值出现的概率极低
(3)箱形图分析
异常值通常被定义为小于下四分位数减去1.5倍的四分位数间距或者大于上四分位数加上1.5倍的四分卫间距之外的数据。
异常值的标准以四分位数局和四分位间距为基础,具有一定的鲁棒性,异常值对其不会昌盛影响。由此可见,箱形图识别异常值的结果比较客观,在识别异常值方面有一定的优越性。
– 在python的pandas库中,只需要读入数据,然后使用describe()函数就可以查看数据的基本情况。
一致性分析
数据不一致是指数据的矛盾性、不相容性。
不一致的数据的产生主要发生在数据集成的过程中,这可能是由于被挖掘数据是来自于不同的数据源、对于重复存放的数据未能进行一致性更新造成的。