文章目录
传送门:
- 数据挖掘实战—财政收入影响因素分析及预测
- 数据挖掘实战—航空公司客户价值分析
- 数据挖掘实战—商品零售购物篮分析
- 数据挖掘实战—基于水色图像的水质评价
- 数据挖掘实战—家用热水器用户行为分析与事件识别
- 数据挖掘实战—电商产品评论数据情感分析
引言
本文运用数据挖掘技术对市财政收入进行分析,挖掘其中的隐藏的运行模式,并对未来两年的财政收入进行预测,希望能够帮助政府合理地控制财政收支,优化财政建设,为制定相关决策提供依据。定义数据挖掘目标如下:
- 分析、识别影响地方财政收入的关键属性
- 预测2014年和2015年的财政收入
本文数据挖掘主要包括以下步骤:
- 对原始数据进行探索性分析,了解原始属性之间的相关性
- 利用Lasso特征选择模型提取关键属性
- 建立单个属性的灰色预测模型以及支持向量模回归预测模型
- 使用支持向量回归预测模型得出2014年至2015年财政收入的预测值
- 模型评价
一、数据探索
data.csv数据,提取码:1234
表中各属性名称及属性说明:
1.数据质量分析
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
1.1 缺失值分析
1.2 异常点分析—箱型图分析
for column in data.columns:
fig,ax = plt.subplots(figsize=(4,4))
sns.boxplot(data.loc[:,column],orient='v')
ax.set_xlabel(column)
会展示出每一个变量的箱型图,可直观看到有无异常点
1.3 重复数据分析
2.数据特征分析
2.1 描述性统计分析
可通过均值、方差、最大值、最小值看出有些数据存在较大变化。
2.2 分布分析
表格里面都是连续型数据,可以通过distplot
来展示连续变量的直方图与连续概率密度估计
# 画直方图与连续概率密度估计
for column in data.columns:
fig,ax = plt.subplots(figsize=(6,6))
sns.distplot(data.loc[:,column],norm_hist=True,bins=20)
2.3 相关性分析
可以发现上述变量除了x11外均与y有强相关性,并且这些属性间存在多重共线性,考虑使用Lasso特征选择模型进行特征选择
绘制相关性热力图,直观显示相关性
# 绘制热力图
plt.style.use('ggplot')
sns.set_style('whitegrid')
plt.subplots(figsize=(10,10))
sns.heatmap(data.corr(method='pearson'),
cmap='Reds',
annot=True, # 诸如数据
square=True, # 正方形网格
fmt='.2f', # 字符串格式代码
yticklabels=corr.columns, # 列标签
xticklabels=corr.columns # 行标签
)
很明显可以看出除了x11外均与y有强相关性,并且这些属性间存在多重共线性。
二、数据预处理
通过上面分析,我们知道数据中没有缺失值、重复值、异常值(数据来源可靠),发现有多重共线性,我们能做的是:利用Lasso特征选择,去除特征间的多重共线性
import pandas as pd
import numpy as np
from sklearn.linear_model import Lasso
data = pd.read_csv('data/data.csv', header=0)
x, y = data.iloc[:, :-1], data.iloc[:, -1