Python数据挖掘002-数据质量分析

高质量的数据集才能得到高质量的模型,垃圾数据集只能产生垃圾

通过检样数据集的数据质量,绘制图表,计算某些特征量等,对样本数据集的结构和规律进行分析的过程就是数据探索。

数据探索有助于选择合适的数据预处理和建模方法。主要包含有数据质量分析和数据特征分析两个方面。

数据质量分析主要是检查原始数据中是否有脏数据,是数据预处理的前提。脏数据包括:缺失值,异常值,不一致的值。

1. 缺失值分析

主要有记录的缺失和记录中某个字段信息的缺失,两者都会造成分析结果的不准确。

处理方法有:删除存在缺失值的样本,对缺失值进行插补,不处理三种。

2. 异常值分析

检样数据中是否有录入错误,或者不合常理的数据。一般指,样本中的个别值,其数值明显偏离其余的观测值,也成为离群点,异常值分析也称为离群点分析。

分析方法有:简单统计量分析,3sigma原则,箱型图分析

2.1 简单统计量分析

相对变量做一个描述性统计,进而查看哪些数据不合理,最初能够用的是min和max,用于判断某个变量值是否超出合理范围。

这个要根据常识来判断,比如年龄为199等。

2.2 3sigma原则

如果数据服从正态分布,在3sigma原则中,异常值被定义为一组测定值中与平均值的偏差超过3倍标准差的值。也因为距离平均值3sigma之外的值出现的概率为P(|x-u|>3sigma)<=0.003,为小概率事件,当作异常值处理。

如果数据不服从正态分布,也可以用原理平均值多少倍的标准来界定异常值。

2.4 箱型图分析

如上图中,低于下界或者大于上界的数据点被认为是异常点或离群点。

箱型图识别异常值的结果比较客观,在识别异常值方面具有一定的优越性。

3. 一致性分析

数据不一致性指的是数据的矛盾性,不相容性。其产生可能发生于:来自于不同的数据源,对于重复存放的数据未能一致性更新。

4. 箱型图异常值分析的代码实战

用箱型图判断哪些数据点属于异常值,代码如下:

data=pd.read_excel(r"E:\PyProjects\DataSet\PyMining\Data\chapter3\demo\data\catering_sale.xls",index_col=0)
plt.rcParams['font.sans-serif']=['SimHei'] # 可以在plt图中显示中文
plt.rcParams['axes.unicode_minus']=False # 可以正常显示负号
result=data.boxplot(return_type='dict')
箱型图

上面的箱型图中含有上界,下届,均值,箱体线等重要信息,,打印出result可以得到很多信息:

image.png

打印出信息为:

print('下届:',result['caps'][0].get_ydata())
print('上届:',result['caps'][1].get_ydata())
### 至此,异常值存在于result['fliers'][0]中,取出看看
abnormal=result['fliers'][0].get_ydata()
abnormal.sort()
print('异常值:',abnormal)

下届: [1958. 1958.]
上届: [3802.8 3802.8]
异常值: [ 22. 51. 60. 865. 4060.3 4065.2 6607.4 9106.44]

'''
boxplot的参数说明:
sym:表示异常点的形状
vert:是否垂直,箱线图是横向的(False)还是竖向的(True)
whis: IQR,默认1.5,也可以设置区间比如[5,95],代表强制上下边缘为数据95%和5%位置
patch_artist:上下四分位框内是否填充,True为填充
meanline:是否用线的形式表示均值,默认用点表示
showmeans:是否显示均值,默认不显示
showbox:是否显示箱线图的箱体
showcaps:是否显示边缘线,箱线图顶端和末端的两条线默认显示
showfliers:是否显示异常值
notch:中间箱体是否缺口
return_type:返回类型
其它
positions:指定箱线图的位置,默认为[0.1.2...]
widths:指定箱线图的宽度,默认为0.5
'''

boxes: 箱线
medians: 中位值的横线,
whiskers: 从box到error bar之间的竖线.
fliers: 异常值
caps: error bar横线
means: 均值的横线

在具体的任务中,由于4060,4065两个点距离上界很近,故而也可以不将其当作异常点,而放入到正常点中来处理,故而截取的范围可以是:1958-4100,超过这个范围的就是异常值。

去掉异常值后,再对数据集进行统计学分析,

data = data[(data['销量'] > 400)&(data['销量'] < 5000)] #过滤异常数据
statistics = data.describe() #保存基本统计量

statistics.loc['range'] = statistics.loc['max']-statistics.loc['min'] #极差
statistics.loc['var'] = statistics.loc['std']/statistics.loc['mean'] #变异系数
statistics.loc['dis'] = statistics.loc['75%']-statistics.loc['25%'] #四分位数间距

print(statistics)

参考资料:

《Python数据分析和挖掘实战》张良均等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • 对于R语言的学习是在某位知乎大V的推荐下开始的,自己之前的学习不管是针对数据分析,数据挖掘还是机器学习,都是基于P...
    橘子侠阅读 4,050评论 0 2
  • 数据形式 数据读取 数据预处理 数据收集及读取 很多人认为数据分析就是将数据可视化或者对数据趋势做出预测,其实是不...
    Clemente阅读 2,153评论 0 5
  • 前言: 这是关于个人关于对pandas可以进行的数据处理和数据分析的见解的初版,其中肯定不乏一些错误之处,希望大家...
    平凡简单的执着阅读 6,625评论 0 2
  • 原来用markdown写的,简书公式编辑比较麻烦。所以正常公式版本可以戳以下链接https://www.zybul...
    hainingwyx阅读 20,933评论 11 97
  • 金陵城人人都知道,城南慕容府里有个传了好几代的宝物,放在一个紫檀匣子里。 有人说里面是绝世剑谱,也有人说里面有价值...
    日光人阅读 1,000评论 6 44