参考文献:《Python数据分析与挖掘实战》张良均等

数据挖掘建模过程

  1. 定义挖掘目标:理解任务,确定指标
  2. 数据采样:注意数据的完整性和有效性
  3. 数据探索:异常值分析、缺失值分析、相关性分析、周期性分析
  4. 数据预处理:数据筛选、数据变量转换、缺失值处理、坏数据处理、数据标准化、主成分分析、属性选择、数据规约
  5. 挖掘建模:所属问题分析(分类、聚类、关联规则、时序模式、智能推荐),选用算法
  6. 模型评价:应用模型对应的评价方法,根据业务对模型进行解释和应用

数据挖掘建模工具

  1. SAS Enterprise Miner
  2. IBM SPSS Modeler
  3. SQL Server
  4. Python
  5. WEKA
  6. KNIME
  7. RapidMiner/YALE
  8. TipDM

数据探索

一、数据质量分析
数据预处理的前提,检查数据中是否存在脏数据(缺失值、异常值、不一致的值、重复数据、含特殊符号的数据),箱线图可以检测异常值。

file_name = r'../data/catering_sale.xls'
catering_sale = file_name
data = pd.read_excel(catering_sale, index_col=u'日期') #加载数据
plt.figure()
plt.rcParams['font.sans-serif'] = ['SimHei'] #正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #正常显示±号
# 画箱线图
p = data.boxplot(return_type='dict')
x = p['fliers'][0].get_xdata() #fliers为异常值标签
y = p['fliers'][0].get_ydata()
y.sort() #对y从小到大排序
for i in range(len(x)):#处理临界情况, i=0时temp = y[i] - y[i - 1] if i != 0 else -78 / 3#添加注释, xy指定标注数据,xytext指定标注的位置(所以需要特殊处理)plt.annotate(y[i], xy=(x[i], y[i]), xytext=(x[i] + 0.05 - 0.8 / temp, y[i]))plt.show()

二、数据特征分析

  1. 分布分析:解释数据的分布特征和分布类型:频率分布直方图、茎叶图、饼图、条形图
  2. 定量数据分布分析:求极差、决定组距和组数(极差/组距)、决定分点(分布区间)、列出频率分布表、绘制频率分布直方图。
  3. 定性数据分布分析:百分比/频数
  4. 对比分析:折线图
  5. 统计量分析:均值、中位数、标准差、四分位间距、变异系数CV=sbxˉ×100CV=\frac{s}{b}\bar{x}×100%CV=bs​xˉ×100 Pandas中提供的describe方法可以得到基本统计量
file_name = r'../data/catering_sale.xls'
catering_sale = file_name
data = pd.read_excel(catering_sale, index_col=u'日期')
data = data[(data[u'销量'] > 400) & data[u'销量'] < 5000]
statistics = data.describe()[u'销量']
statistics['range'] = statistics['max'] - statistics['min'] #极差
statistics['var'] = statistics['std'] / statistics['mean'] #方差
statistics['dis'] = statistics['75%'] - statistics['25%'] #四分距
print(statistics)
  1. 周期性分析:时序折线图
  2. 贡献度分析:帕累托法则8/2定律,80%的利润来自20%的投入,应该重点关注80%利润的部分,绘制帕累托图
file_name = '../data/catering_dish_profit.xls'
dish_profit = file_name  #餐饮菜品盈利数据
plt.rcParams['font.sans-serif'] = ['SimHei']  # 正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 正常显示±号
data = pd.read_excel(dish_profit, index_col=u'菜品名')
data = data[u'盈利'].copy()
data.sort_values(ascending=False)
plt.figure()
data.plot(kind='bar')
plt.ylabel(u'盈利(元)')
p = 1.0 * data.cumsum() / data.sum()
p.plot(color='r', secondary_y=True, style='-o', linewidth=2)
plt.annotate(format(p[6], '.4%'),xy=(6, p[6]),xytext=(6 * 0.9, p[6] * 0.9),arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
plt.ylabel(u'盈利(比例)')
plt.show()


8. 相关性分析:散点图、散点矩阵图、计算相关系数(Pearson、Spearman)
Pearson线性相关系数要求连续变量的取值服从正态分布
Pearson=∑i=1n(xi−xˉ)(yi−yˉ)∑i=1n(xi−xˉ)2∑i=1n(yi−yˉ)2Pearson=\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2\sum_{i=1}^{n}(y_i-\bar{y})^2}}Pearson=∑i=1n​(xi​−xˉ)2∑i=1n​(yi​−yˉ​)2​∑i=1n​(xi​−xˉ)(yi​−yˉ​)​
不符合正态分布的变量,分类或等级变量之间的关联性采用Spearman秩相关系数,也称为等级相关系数,对两个变量成对的取值按照升序或降序编秩,RiR_iRi​表示xix_ixi​的秩次,QiQ_iQi​表示yiy_iyi​的秩次,Ri−QiR_i-Q_iRi​−Qi​表示秩次之差。(秩次:排序时的位置)
Spearman=1−6∑i=1n(Ri−Qi)2n(n2−1)Spearman=1-\frac{6\sum_{i=1}^{n}(R_i-Q_i)^2}{n(n^2-1)}Spearman=1−n(n2−1)6∑i=1n​(Ri​−Qi​)2​
判定系数是相关系数的平方,用r2∈[0,1]r^2∈[0,1]r2∈[0,1]表示,其值越接近于1则相关性越强,越接近于0则几乎无直线相关关系。

file_name = r'../data/catering_sale_all.xls'
catering_sale = file_name
data = pd.read_excel(catering_sale, index_col=u'日期')
print(data.corr())
print(data.corr()[u'百合酱蒸凤爪'])
print(data[u'百合酱蒸凤爪'].corr(data[u'翡翠蒸香茜饺']))
  1. 主要数据探索函数:
方法 函数功能
sum() 求和
mean() 求均值
var() 求方差
std() 求均值
corr() 计算相关系数矩阵
cov() 计算协方差矩阵
skew() 计算样本值的偏度(三阶矩)
kurt() 计算样本值的峰度(四阶矩)
describe() 样本基本描述
  1. 扩展统计函数
方法 函数功能
cumsum() 依次给出前1,2,…,n个数的和
cumprod() 依次给出前1,2,…,n个数的积
cummax() 依次给出前1,2,…,n个数的最大值
cummin() 依次给出前1,2,…,n个数的最小值
rolling_sum() 按列计算数据样本的总和
rolling_mean() 数据样本的算数平均数
rolling_var() 计算数据样本的方差
rolling_std() 计算数据样本的标准差
rolling_corr() 计算数据样本的相关系数矩阵
rolling_cov() 计算数据样本的协方差矩阵
rolling_skew() 样本值的偏度
rolling_kurt() 样本值的峰度

cum系列是DataFrame对象和Series对象的方法
rolling_是pandas的函数,每k列计算一次,滚动计算

  1. Python统计作图
方法 函数功能
plot() 折线图
pie() 饼状图
hist() 折线图
boxplot() 箱型图
plot(logy=True) 绘制y轴的对数图形
plot(yerr=error) 绘制误差条形图

【数据挖掘】数据挖掘和数据分析基础相关推荐

  1. 数据挖掘:探索性数据分析(EDA)

    数据挖掘:探索性数据分析(EDA) 一.什么是探索性数据分析 EDA (Exploratory Data Analysis),即对数据进行探索性的分析.充分了解数据,为之后的数据清洗和特征工程等提供想 ...

  2. 数据挖掘:探索性数据分析(EDA)(补充)

    数据挖掘:探索性数据分析(EDA)(补充) 在上一篇文章数据挖掘:探索性数据分析(EDA)中,已经讨论了一些探索性分析的方法,但去敏数据的处理方式和一些多元统计的方法没有做介绍.本篇文章主要讲这两方面 ...

  3. 数据挖掘和大数据分析

    数据: 是对事物审慎.客观的记录.是以一种结构化的方式记录事件发生的相关数据. 大数据: 是无法被传统工具直接出处理.分析的数据,大多是半结构化以及非结构化数据,仅有少量是结构化数据. 结构化数据是有 ...

  4. 数据挖掘-数据挖掘综述-基础知识和概念总结

    数据挖掘-数据挖掘综述-基础知识和概念总结                                                  目录 数据挖掘-数据挖掘综述-基础知识和概念总结 1.数据 ...

  5. swiper 滚回第一个数据_名企必备的数据分析基础技能:Python大法(一)

    现如今,大数据的发展越来越好,也越来越多的企业中大数据分析已经朝着更好的方向发展.也正是因为这个原因,数据分析行业的人才需求也变得火爆起来,尤其是数据分析.数据挖掘.数据科学家等高端人才,越来越稀缺. ...

  6. python计算相关矩阵_Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2...

    //2019.07.10 python数据分析基础--numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面: (1)numpy ...

  7. python部分引入total值的问题_Python数据分析基础与过程综述,关键数据预处理异常点的发现与处理,python,及,流程,回顾,重点,之,值...

    一. python数据分析基础库的导入 基本是固定搭配 import numpy as np #科学计算基础库,多维数组对象ndarray import pandas as pd #数据处理库,Dat ...

  8. 关联分析python牛奶面包_Python数据分析基础ReadingDay13_关联分析Apriori

    reading Foundations for Analysis with Python Day 13 <Python数据分析基础>封面 之前我们已经完成了<Python数据分析基础 ...

  9. 【统计学习】25个必须掌握的数据分析基础概念

    16个必须掌握的数据分析基础概念 1. 描述性统计 2. 假设性检验 2.1 参数检验 2.2 非参数检验 3. 置信度分析 4. 列联表分析 5. 相关分析 6. 方差分析 7. 回归分析 8. 聚 ...

  10. 简书python数据分析基础reading_Python数据分析基础ReadingDay1

    从今天(2018-3-13)到3月26号本目录下会更新<Python数据分析基础>这本书的一些读书笔记和思考. 书目信息: 原书名: Foundations for Analysis wi ...

最新文章

  1. Github高级搜索技巧
  2. android launchmode singleinstance问题
  3. 系列(四)—Http协议
  4. spring配置详解-模块化配置
  5. Golang 检查元素在slice中是否存在 模仿Php实现arrary_In
  6. linux sudo 必须属于用户ID0,sudo:/usr/bin/sudo 务必属于用户 ID 0(的用户)并且设置 setuid 位...
  7. 太原理工大学c语言课程设计报告,[太原理工大学C语言实验报告.doc
  8. Oracle和Mysql中的字符串的拼接
  9. java linkedlist源码分析_LinkedList源码分析(基于Java8)
  10. 正负数据如何归一化_数据归一化方法大全
  11. 最长递增子序列O(nlogn)和O(n2)
  12. 实践练习6:查看 OceanBase 执行计划
  13. 脚本启动shipyard
  14. TWaver GIS制作穹顶之下的雾霾地图
  15. 支付宝账号转账/扫码即可到转账页
  16. ExecutorService,Executors 使用
  17. 第一次在linux服务器上跑python项目Sklearn安装问题
  18. 函数式编程(一):概念及特点
  19. 【沃顿商学院学习笔记】商业分析——People Analytics:15 人才分析 Talent Analytics
  20. 【Java常用类】String和StringBuffer类(下)

热门文章

  1. 你见过的MCU最高GPIO翻转频率是多少?
  2. 分享一篇很不错的CMake入门文章,值得收藏细读!
  3. 我是如何使用wireshark软件的
  4. MIPI屏数据发送命令解析
  5. HT68F30控制GPG96244QS1 TFT液晶屏
  6. TQ210——时钟系统
  7. 还没学python_2个月过去了!还没学会python?用《流畅的python》15天带你学会
  8. 图像特征提取与描述_角点特征04:LBP算法+HOG特征算子
  9. python工控怎么样_搞工控不了解python,好比雄鹰断了翅膀,理由在这里!
  10. 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面