本书以大数据分析与挖掘的常用技术与真实案例相结合的方式,按照“概念和原理讲解、案例分析、能力拓展——Python 软件应用”的层次进行阐述,深入浅出地介绍大数据分析与挖掘的重要内容。全书共 11 章,第 1 章作为全书的绪论,介绍了大数据分析与挖掘的基本概念、行业应用等;第2 章介绍了 Python 的安装、编程基础以及常用的数据分析工具;第 3 章介绍了数据的类型、质量和相似度与相异度;第 4 章介绍了数据探索的常用方法,包括质量分析、描述性统计分析、可视化分析和多维数据分析;第 5 章介绍了数据预处理的常用方法,包括数据清洗、数据集成、数据归约和数据变换与离散化;第 6 章介绍了回归与分类的方法,包括多元线性回归、逻辑回归、决策树分类、朴素贝叶斯分类等;第 7 章介绍了聚类的方法,包括 K-Means 算法、DBSCAN 算法等;第 8 章介绍了关联规则,包括 Apriori 算法和 FP-Growth 算法等;第 9 章介绍了时间序列,包括平稳时间序列分析和非平稳时间序列分析等;第 10 章介绍了离群点检测,包括基于统计学、邻近性、聚类、分类的离群点检测方法;第 11 章介绍了大数据分析与挖掘的前沿知识。本书大部分章节包含真实案例和课后习题,通过练习和操作实践,帮助读者巩固所学的内容。本书可作为高校数据科学与大数据技术或人工智能相关专业教材,也可作为数据挖掘爱好者的自学用书。
云本胜,男,1980年生,博士,浙江科技大学副教授,硕士生导师,中国计算机学会会员、中国人工智能学会会员。2010年获同济大学系统工程工学博士,2016年美国中佛罗里达大学访学学者。主持中国高校产学研创新基金、浙江省基础公益研究计划项目、浙江省教育厅科研项目、浙江省一流本科课程、浙江省普通本科高校“十四五”首批新工科重点建设教材、浙江省产学合作协同育人项目、教育部产学合作协同育人项目等课题多项;主持企业横向课题2项;参与国家863、国家自然科学基金项目等4项;已发表学术论文20余篇;授权发明专利2项。指导大学生创新训练项目、新苗人才计划项目等课题多项。
目 录
第1章 绪论 001
1.1 大数据分析与挖掘的基本概念 002
1.2 大数据分析与挖掘的行业应用 002
1.3 大数据分析与挖掘的基本任务 004
1.4 大数据分析与挖掘的建模过程 004
1.4.1 明确任务 005
1.4.2 数据采集 005
1.4.3 数据探索 006
1.4.4 数据预处理 006
1.4.5 挖掘建模 007
1.4.6 模型评价 007
1.5 大数据分析与挖掘的建模工具 007
小结 009
习题 009
第2章 Python简介 011
2.1 Python安装 012
2.2 Python编程基础 015
2.2.1 基本命令 016
2.2.2 数据类型 019
2.2.3 运算符 023
2.2.4 函数 027
2.3 Python数据分析工具 029
小结 033
习题 034
第3章 数据 036
3.1 数据类型 037
3.1.1 数据集的类型 037
3.1.2 属性的定义 039
3.1.3 属性的分类 040
3.2 数据质量 041
3.3 数据的相似度与相异度度量 042
3.3.1 属性之间的相似度与相异度 042
3.3.2 数据对象之间的相异度 045
3.3.3 数据对象之间的相似度 049
3.3.4 度量方法的选取 054
小结 055
习题 055
第4章 数据探索 058
4.1 数据质量分析 059
4.1.1 缺失值分析 059
4.1.2 异常值分析 060
4.1.3 一致性分析 063
4.2 数据描述性统计分析 064
4.2.1 集中趋势度量 065
4.2.2 离散程度度量 066
4.2.3 多元数据统计分析 069
4.3 数据可视化分析 070
4.3.1 可视化技术 070
4.3.2 高维数据可视化 076
4.4 多维数据分析 082
4.4.1 多维数组 082
4.4.2 数据立方体 083
4.4.3 切片与切块 084
4.4.4 上卷与下钻 085
4.5 Python数据探索案例分析 086
4.5.1 公共自行车租赁系统数据集 086
4.5.2 数据探索分析 087
小结 092
习题 092
第5章 数据预处理 095
5.1 数据清洗 096
5.1.1 缺失值处理 096
5.1.2 异常值处理 098
5.2 数据集成 100
5.2.1 实体识别 100
5.2.2 数据合并 101
5.2.3 冗余属性识别 104
5.3 数据归约 106
5.3.1 抽样 106
5.3.2 采样 106
5.3.3 属性子集选择 108
5.4 数据变换与离散化 110
5.4.1 数据规范化 110
5.4.2 简单函数变换 112
5.4.3 属性构造 113
5.4.4 连续属性离散化 114
5.5 Python数据预处理案例分析 116
5.5.1 案例背景 116
5.5.2 城市春运出行数据说明 116
5.5.3 数据预处理 117
小结 125
习题 126
第6章 回归与分类 128
6.1 基本概念 130
6.1.1 回归概述 131
6.1.2 分类概述 131
6.2 回归分析 131
6.2.1 一元线性回归 132
6.2.2 多元线性回归 134
6.2.3 多项式回归 142
6.2.4 逻辑回归 145
6.3 决策树分类 148
6.3.1 决策树基本原理 148
6.3.2 建立决策树 149
6.3.3 决策树算法 151
6.3.4 随机森林算法 155
6.4 朴素贝叶斯分类 157
6.4.1 朴素贝叶斯模型基本原理 157
6.4.2 朴素贝叶斯模型代码实现 160
6.5 K最近邻分类 161
6.5.1 K最近邻分类基本原理 162
6.5.2 K最近邻分类代码实现 163
6.6 支持向量机 164
6.6.1 支持向量机基本原理 164
6.6.2 数据线性可分的情况 165
6.6.3 数据线性不可分的情况 166
6.7 神经网络 169
6.7.1 神经网络基本概念 169
6.7.2 BP神经网络算法 170
6.8 回归与分类的评估方法 174
6.8.1 回归的评估方法 174
6.8.2 分类的评估方法 175
6.8.3 提高类不平衡数据的分类准确率 178
6.9 集成学习技术 178
6.9.1 集成学习方法概述 178
6.9.2 Bagging 179
6.9.3 Stacking 179
6.9.4 Boosting 180
6.10 Python回归与分类案例分析 182
6.10.1 回归案例分析 182
6.10.2 分类案例分析 185
小结 188
习题 189
第7章 聚类 193
7.1 基本概念 194
7.2 划分聚类 194
7.2.1 K-Means算法 195
7.2.2 K-中心点算法 200
7.3 层次聚类 206
7.3.1 凝聚的层次聚类 207
7.3.2 分裂的层次聚类 207
7.3.3 簇间距离度量方法 208
7.3.4 不同距离度量的层次聚类 210
7.4 基于密度的聚类方法 214
7.4.1 基于中心方法的密度定义 215
7.4.2 DBSCAN算法 216
7.5 概率模型聚类 222
7.5.1 模糊簇 222
7.5.2 概率模型聚类步骤 223
7.5.3 期望最大化算法 223
7.6 聚类评估 226
7.6.1 估计聚类趋势 226
7.6.2 确定正确的簇的个数 228
7.6.3 聚类质量评估 229
7.7 Python聚类案例分析 232
7.7.1 数据说明 232
7.7.2 数据预处理 233
7.7.3 构建聚类模型 236
小结 239
习题 239
第8章 关联规则 243
8.1 基本概念 244
8.1.1 基本元素的概念 244
8.1.2 闭频繁项集和极大频繁项集 249
8.2 Apriori算法 252
8.2.1 Apriori算法简介 252
8.2.2 改进的Apriori算法 256
8.3 FP-Growth算法 257
8.3.1 FP-Growth算法的实现过程 257
8.3.2 使用FP-Growth算法实现新闻网站点击数据频繁项集挖掘 261
8.4 关联规则评估方法 262
8.4.1 关联规则兴趣度评估 262
8.4.2 关联规则相关度评估 264
8.4.3 其他评估度量方法 264
8.5 多维关联规则挖掘 265
8.6 多层关联规则挖掘 266
8.7 Python关联规则案例分析 268
8.7.1 基于Apriori算法实现电影观看规则挖掘 268
8.7.2 基于FP-Growth算法实现商品购买规则挖掘 274
小结 278
习题 278
第9章 时间序列 282
9.1 时间序列基本概念 283
9.1.1 特征统计量 283
9.1.2 时间序列的特点 284
9.2 时间序列预处理 285
9.2.1 平稳性 285
9.2.2 白噪声 287
9.3 平稳时间序列分析 288
9.3.1 AR模型 288
9.3.2 MA模型 289
9.3.3 ARMA模型 289
9.3.4 平稳时间序列建模 290
9.4 非平稳时间序列分析 291
9.4.1 差分运算 291
9.4.2 ARIMA模型 292
9.5 Python时间序列案例分析 300
9.5.1 背景与目标 300
9.5.2 数据预处理 301
9.5.3 分析建模 303
小结 305
习题 306
第10章 离群点检测 309
10.1 离群点概述 310
10.2 离群点检测方法 311
10.2.1 基于统计学的方法 311
10.2.2 基于邻近性的方法 317
10.2.3 基于聚类的方法 321
10.2.4 基于分类的方法 324
10.3 高维数据中的离群点检测 327
10.3.1 扩充的传统离群点检测 327
10.3.2 发现子空间中的离群点 328
10.3.3 高维离群点建模 329
10.4 Python离群点检测案例分析 330
10.4.1 背景与目标 330
10.4.2 使用LOF算法进行离群点检测 330
10.4.3 绘制离群点检测图 331
小结 333
习题 334
第11章 大数据分析与挖掘的发展前沿 336
11.1 复杂的大数据挖掘 337
11.1.1 复杂的数据 337
11.1.2 复杂的挖掘方式 338
11.2 大数据挖掘与人工智能 340
11.2.1 深度学习 340
11.2.2 知识图谱 341
11.2.3 迁移学习 344
11.2.4 强化学习 345
11.2.5 联邦学习 347
小结 348
习题 348
参考文献 350