数据挖掘与数据分析

数据质量分析

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
上一篇下一篇

猜你喜欢

热点阅读