python数据分析与挖掘实战学习笔记(二)

python数据分析与挖掘实战学习笔记(二)

根据观测,调查收集到初步的样本数据后,接下来要考虑的问题是:样本数据集的数量和质量是否满足模型构建的要求?

数据质量分析

缺失值分析

缺失值的影响

1)数据挖掘建模将丢失大量的有用信息
2)数据挖掘模型所表现出的不确定性更加显著
3)包含空值的数据会使建模过程陷入混乱,导致不可靠的输出

缺失值的分析

缺失值的分析氛围删除存在缺失值的记录,对可能只进行插值和不处理三种方式,后续详细介绍

异常值分析

异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称为离群点。
1)简单统计分析
简单判断那些数据是合理的,哪些数据是不合理的。例如客户的年龄的最大值是199岁,这显然是不合理的
2)3σ 原则
如果数据服从正态分布,在3σ 原则下,异常值被定义为一组测定值中与平均值的偏差超过3倍标准差的值。
3)箱型图分析
在这里插入图片描述
箱型图依据实际数据绘制,没有对数据做任何限制性要求,它只是真实直观地表现数据分布的本来面貌;另一方面,箱型图判断异常值的标准以四分位数和四分位距为基础。箱型图识别异常值的结果比较客观,在识别异常值方面有一定的优越性。
看图说话,注意以下几个点:

一.箱子的中间一条线,是数据的中位数,代表了样本数据的平均水平。

二.箱子的上下限,分别是数据的上四分位数和下四分位数。这意味着箱子包含了50%的数据。因此,箱子的宽度在一定程度上反映了数据的波动程度。

三.在箱子的上方和下方,又各有一条线。有时候代表着最大最小值,有时候会有一些点“冒出去”。请千万不要纠结,不要纠结,不要纠结(重要的事情说三遍),如果有点冒出去,理解成“异常值”就好。

四.箱线图是针对连续型变量的,解读时候重点关注平均水平、波动程度和异常值。

五.当箱子被压得很扁,或者有很多异常的时候,试着做对数变换。

六.当只有一个连续型变量时,并不适合画箱线图,直方图是更常见的选择。

七.箱线图最有效的使用途径是作比较,配合一个或者多个定性数据,画分组箱线图。

转载于箱线图应该怎么用,里面是更详细的介绍

下面是一个实例

import pandas as pd

catering_sale = 'D:\《Python数据分析与挖掘实战》源数据和代码\chapter3\demo\data/catering_sale.xls' #餐饮数据
data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列

import matplotlib.pyplot as 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() #从小到大排序,该方法直接改变原对象
for i in 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()

关于如何使用异常值进行异常分析以及处理异常值这里有一个实例python用箱型图进行异常值检测

一致性分析

数据不一致性是指数据的矛盾性、不相容性。例如有两个表中都存了客户的信息,但是只有一个表的数据发生了改变,那么这两个表就有了不一致性。

发布了7 篇原创文章 · 获赞 1 · 访问量 197

猜你喜欢

转载自blog.csdn.net/qq_43303805/article/details/104008200