数据质量分析
2018-07-17 本文已影响0人
LingHun
一、数据质量分析
数据质量分析是数据挖掘中数据准备最重要的一环,是数据预处理的前提,是数据挖掘分析结论有效性和准确性的基础,没有可信的数据,数据挖掘构建的模型就是空中楼阁。
数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据就是一般不符合要求以及不能直接进行相应分析的数据。在常见的数据挖掘中,常见的脏数据包括:缺失值;异常值;不一致的值;重复数据及含有特殊符号的值。
A:缺失值产生的原因:
1.有些信息无法获取,或者获取信息的代价太大
2.信息遗漏
3.属性值不存在
B:缺失值产生的影响:
1.数据挖掘建模将丢失大量的有用信息
2.数据挖掘模型所表现出来的不确定性更加显著,模型中蕴涵的规律更难把握。
3.包含空值的数据会使建模过程陷入混乱,导致不可靠的输出
C:缺失值的处理:
1.删除存在缺失值的记录,
2.对可能值进行插补和不处理
异常值分析之箱型图分析:
'''
# -*- coding: utf-8 -*-
"""
Created on Sun Jul 15 15:12:09 2018
@author: Roc
"""
# -*- coding: utf-8 -*-
import pandasas pd
catering_sale ='G:/PycharmProjects/数据分析与挖掘/catering_sale.xls' # 餐饮数据
data = pd.read_excel(catering_sale,index_col=u'日期')# 读取数据,指定“日期”列为索引列
import matplotlib.pyplotas plt# 导入图像库
plt.rcParams['font.sans-serif'] = ['SimHei']# 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] =False # 用来正常显示负号
plt.figure()# 建立图像
p = data.boxplot(return_type='dict')# 画箱线图,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata()# 'flies'即为异常值的标签
y = p['fliers'][0].get_ydata()
y.sort()# 从小到大排序,该方法直接改变原对象
# 用annotate添加注释
# 其中有些相近的点,注解会出现重叠,难以看清,需要一些技巧来控制。
# 以下参数都是经过调试的,需要具体问题具体调试。
for iin range(len(x)):
if i >0:
plt.annotate(y[i],xy=(x[i], y[i]),xytext=(x[i] +0.05 -0.8 / (y[i] - y[i -1]), y[i]))
else:
plt.annotate(y[i],xy=(x[i], y[i]),xytext=(x[i] +0.08, y[i]))
plt.show()# 展示箱线图
'''
Figure_1.png