python 数据挖掘(2) -- 数据质量分析

数据质量分析是数据挖掘中数据准备过程重要的一环,是数据预处理的前提。数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据包括缺失值,异常值,不一致的值等等。

缺失值

缺失值就是由于人为或其他任何原因导致的数据缺失问题,缺失值的处理分为删除存在缺失值的属性、对可能的值进行插补、不处理三种情况。

异常值

异常值就是不合理的数据,常用的检测方法如下:

1) 简单的最大最小统计,比如用户最大年龄为 99,就可能是异常值

2) 3西格玛原则,如果数据服从正太分布,那么跟平均值相差 3 个西格玛(方差) 以外就概率为 0.3%,即可认为是异常值

3) 最常用的就是箱线图分析,也就是定义 QL 为1/4 分位数,QU 为3/4 分位数,IQR = QU-QL。则我们把小于 QL - 1.5IQR 的值,以及大于 QU + 1.5IQR 的值定义为异常值。它的优势是不依赖于数据分布,并且具有一定的鲁棒性:几乎一半的数据可以变得任意远而不影响结果。用餐饮销售额数据 catering_sale.xls 为例,检测其异常值代码如下:

#-*- coding:utf-8 -*-
import pandas as pd
# 餐饮数据
catering_sale = "wajue/catering_sale.xls"
# 读取数据,指定 "日期" 列为索引列
data = pd.read_excel(catering_sale,index_col = "日期")
# 数据描述 平均值,标准差,最小值 1/4 1/2 3/4 分位数 最大值
print data.describe()

# 导入图像处理
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

plt.figure() # 建立图像
# 使用 dataframe 画箱线图
p = data.boxplot(return_type='dict')
# fliers 即为异常值的标签
x = p["fliers"][0].get_xdata()
y = p["fliers"][0].get_ydata()
y.sort()

# annotate 方法添加注释,也就是 在箱线图上标注异常值
# 第一个参数就是标注的内容,这里就是异常值的大小
# 后面两个参数是调整标注的位置设置的
for i in range(len(x)):
    if i > 0 :
        plt.annotate(y[i],xy = (x[i],y[i]), xytext = (x[i]+0.05 - 1.0/(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()
		
plt.show()

如图中注释出来的值就是箱线图中检测出来的异常值。

一致性分析

数据不一致性是指数据的矛盾性,不相容性。可能是由于被挖掘数据来自不同的数据源。比如同一个用户的电话号码,那边是一个号码,另一个数据源又是另一个号码。

【为什么学习数据挖掘】       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。      从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。【超实用的课程内容】      本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。本课程分为三大部分:基础知识篇:主要讲解数据挖掘这项技能的基本工作流程和介绍和入门必须的基本技能Python语言的入门,带领大家了解数据挖掘的常见操作和基础知识。数据采集篇:学习如何解决数据挖掘数据来源问题,读取各类型不同的数据包括CSV,excel,MySQL进行数据采集的交互。数据探索篇:本篇主要解决数据的预处理保证数据质量并用常见数据挖掘算法进行特征提取,分析数据背后隐含的信息。【报名须知】课程采取录播模式,课程永久有效,可无限次观看课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化【如何开始学习?】PC端:报名成功后可以直接进入课程学习移动端:下载CSDN学院或CSDN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值