数据挖崛建模过程:
1. 定义挖崛目标
2. 获取数据
3. 数据探索
4. 数据预处理
5. 挖崛建模
6. 模型评价
数据探索:
数据探索指的是: 通过检验数据集的数据质量,绘制图表,计算某些特征量等手段,对样本数据集的结构和规律进行分析的过程。
数据探索主要分析数据质量和数据特征。
数据探索.质量分析:
目的: 检查数据集中是否存在脏数据(缺失数据,异常数据,不一致数据,含特殊符合数据).
缺失值: 从产生的原因,影响去分析
异常值:
1. 简单的统计学分析:最大值,最小值是否合理。
2. 3s原则分析: 数据据如果服从正太分布,使用3s原则,异常值定义为一组测定值中与平均值的偏差超过3倍标准差的值.
3. 箱型图分析法:定义为下四分 - 1.5IQR,上四分+1.5IQR为正常值,其它的都是异常值。
数据探索.数据特征分析:
1. 分布分析
2. 对比分析
3. 周期性分析
4. 贡献度分析
5. 相关性分析
6. 统计分析
在Python代码中的体现:
#-*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
catering_sale = 'data/catering_sale.xls'
data = pd.read_excel(catering_sale, index_col = u'日期')
plt.figure()
p = data.boxplot(return_type='dict')
print p
x = p['fliers'][0].get_xdata()
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()
利用pandas工具从excel中读取数据,data.boxplot()利用数据画出箱型图,这里还可以使用data.plot(kind='box'),
data.boxplot()返回 dict
{'boxes': [<matplotlib.lines.Line2D object at 0x000000000D05DC18>],
'caps': [<matplotlib.lines.Line2D object at 0x000000000D113550>,
<matplotlib.lines.Line2D object at 0x000000000D113AC8>],
'fliers': [<matplotlib.lines.Line2D object at 0x000000000D1825F8>],
'means': [],
'medians': [<matplotlib.lines.Line2D object at 0x000000000D182080>],
'whiskers': [<matplotlib.lines.Line2D object at 0x000000000D05DAC8>,
<matplotlib.lines.Line2D object at 0x000000000D0509B0>]}
filers 是异常值对应类的键值
x = p['fliers'][0].get_xdata()
y = p['fliers'][0].get_ydata()
x ,y 获取异常值得点.。
plt.annotate(value,xy,xytext,arrowprops)
annotate是添加注释函数
plt.annotate 表示在当前的图形句柄中添加注释
value : 注释的内容
xy: 注释的坐标点
xytext: 注释内容的坐标点
arrowprops: 注释参数,可以控制注释的图形样式。