本书所涵盖的主题包括:数据预处理、预测建模、关联分析、聚类分析、异常检测和避免错误发现。通过介绍每个主题的基本概念和算法,为读者提供将数据挖掘应用于实际问题所需的必要背景。
自12年前的第1版以来,数据分析领域发生了很大的变化。采集数据和用数据做决策的速率不断提高,采集到的数据数量和种类也在不断增加。事实上,大数据这个术语已被用于指代那些可获得的海量、多样的数据集。此外,数据科学这个术语也被用于描述一个新兴领域,其中,数据挖掘、机器学习、统计学等诸多领域的工具和技术,被用于从数据(通常是大数据)中提取出可实际应用的见解。
数据的增长为数据分析的各领域创造了大量的机会。其中,有着广泛应用的预测建模领域的发展最引人注目。例如,在神经网络(也称为深度学习)方面取得的最新进展,已经在许多具有挑战性的领域(如图像分类、语音识别以及文本分类和理解)表现出令人瞩目的成果。即使那些发展不是特别显著的领域(例如聚类、关联分析和异常检测等)也在不断前进。这个新版本就是对这些发展的响应。
概述 与第1版相同,本书第2版全面介绍了数据挖掘,方便学生、教师、研究人员和专业人士理解有关概念和技术。本书涵盖的主题包括:数据预处理、预测建模、关联分析、聚类分析、异常检测和避免错误发现。通过介绍每个主题的基本概念和算法,为读者提供将数据挖掘应用于实际问题所需的必要背景。与第1版一样,分类、关联分析和聚类分析都分两章讲述。前面一章(介绍章)讲述基本概念、代表性算法和评估技术,后面一章(高级章)深入讨论高级概念和算法。同第1版一样,这样做的目的是使读者透彻地理解数据挖掘的基础知识,同时论述更多重要的高级主题。由于这种安排,本书既可用作教材也可用作参考书。
为了帮助读者更好地理解书中讲述的概念,我们提供了大量的示例、图表和习题,并在网上公开了原有习题的答案。除了第10章的新习题,其余习题与第1版的基本一致。教师可以通过网络获取各章的新习题及其答案。对更高级的主题、重要的历史文献和当前趋势感兴趣的读者,可以在每一章结尾找到文献注释,本版对这部分内容做了较大的更新。此外,还提供了一个覆盖本书所有主题的索引。
第2版的新内容 内容上主要的更新是与分类相关的两章内容(第3章和第4章)。第3章仍使用决策树分类器进行讲解,但对适用于各种分类方法的主题讨论进行了大量的扩充,这些主题包括:过拟合、欠拟合、训练规模的影响、模型复杂度、模型选择以及模型评估中常见的缺陷等。第4章的每一节几乎都进行了重大更新,着重扩展了贝叶斯网络、支持向量机和人工神经网络的内容。对深度网络,我们单独增加了一节来介绍该领域当前的发展。我们还更新了4.11节类不平衡问题中有关评估方法的讨论。
关联分析内容的改进则更具体。我们对关联模式评估部分(第5章)以及序列和图形挖掘部分(第6章)进行了全面修订。对聚类分析的修订也很具体。在聚类分析的介绍章(第7章)增添了K均值初始化技术并更新了簇评估的讨论。聚类分析的高级章(第8章)新添了关于谱图聚类的内容。对异常检测部分也进行了大量的修订和扩展。我们保留并更新了现有方法,如统计学、基于最近邻/密度方法和基于聚类方法,同时介绍了基于重构的方法、单类分类和信息论方法。基于重构的方法通过深度学习范畴中的自编码网络进行阐述。关于数据的第2章也进行了更新,更新内容包括对互信息的讨论和基于核技术的讨论。
第10章讨论了如何避免错误发现并产生正确的结果,这一章的内容是全新的并且在当前关于数据挖掘的教科书中也是新颖的。该章讨论了关于避免虚假结果的统计概念(统计显著性、p值、错误发现率、置换检验等),这些是对其他章中相关内容的补充,然后在介绍数据挖掘技术的内容中对这些概念进行了阐述。这一章还强调了对数据分析结果的有效性和可重复性的关注。新增的最后一章,是认识到这个主题的重要性后的产物,同时也是对在分析数据时需要对相关领域有更深入的理解这一观点的认可。
本版纸书删除了数据探索章节以及附录,但仍将其保留在网上。本版附录对大数据环境下的可伸缩性进行了简要讨论。
致教师 作为一本教材,本书广泛适用于高年级本科生和研究生教学。由于学习这门课程的学生背景不同,他们可能不具备广博的统计学和数据库知识,因此本书只要求最低限度的预备知识。数据库知识不是必需的,但我们假定读者有一定的统计学或数学背景,这些背景会让他们更容易学习某些内容。与以前一样,本书或者更确切地说是讨论主要数据挖掘主题的各章,都尽可能自成一体。因此,这些主题的讲授次序相当灵活。其中第2章、第3章、第5章、第7章和第9章是核心内容。对于第10章,建议至少给出粗略的介绍,以在学生解释他们的数据分析结果时引起一些注意。尽管应先介绍数据(第2章),但可以按任意顺序来讲授基本分类(第3章)、关联分析(第5章)和聚类分析(第7章)。由于异常检测(第9章)与分类(第3章)和聚类分析(第7章)具备先后关系,所以后两章应先于第9章进行讲解。同时,可以根据时间安排和兴趣,从高级分类、关联分析和聚类分析章节(第4章、第6章、第8章)中选择多种主题进行讲解。我们还建议通过数据挖掘中的项目或实践练习来强化听课效果,虽然它们要花费一些时间,但这种实践作业可以大
出版者的话
译者序
前言
第1章 绪论1
1.1 什么是数据挖掘2
1.2 数据挖掘要解决的问题3
1.3 数据挖掘的起源4
1.4 数据挖掘任务5
1.5 本书组织结构7
文献注释8
参考文献10
习题12
第2章 数据14
2.1 数据类型15
2.1.1 属性与度量16
2.1.2 数据集的类型19
2.2 数据质量24
2.2.1 测量和数据收集问题24
2.2.2 关于应用的问题27
2.3 数据预处理28
2.3.1 聚集28
2.3.2 抽样30
2.3.3 维归约31
2.3.4 特征子集选择32
2.3.5 特征创建34
2.3.6 离散化和二元化35
2.3.7 变量变换38
2.4 相似性和相异性的度量40
2.4.1 基础40
2.4.2 简单属性之间的相似度和相异度41
2.4.3 数据对象之间的相异度42
2.4.4 数据对象之间的相似度44
2.4.5 邻近度度量的例子44
2.4.6 互信息50
* 2.4.7 核函数51
* 2.4.8 Bregman散度53
2.4.9 邻近度计算问题54
2.4.10 选择正确的邻近度度量56
文献注释56
参考文献58
习题60
第3章 分类:基本概念和技术65
3.1 基本概念65
3.2 一般的分类框架67
3.3 决策树分类器69
3.3.1 构建决策树的基本算法70
3.3.2 表示属性测试条件的方法71
3.3.3 选择属性测试条件的方法73
3.3.4 决策树归纳算法79
3.3.5 示例:Web机器人检测79
3.3.6 决策树分类器的特征81
3.4 模型的过拟合85
3.5 模型选择90
3.5.1 验证集应用90
3.5.2 模型复杂度合并91
3.5.3 统计范围估计93
3.5.4 决策树的模型选择94
3.6 模型评估95
3.6.1 保持方法95
3.6.2 交叉验证96
3.7 超参数的使用97
3.7.1 超参数选择98
3.7.2 嵌套交叉验证98
3.8 模型选择和评估中的陷阱99
3.8.1 训练集和测试集之间的重叠99
3.8.2 使用验证错误率作为泛化错误率100
* 3.9 模型比较100
3.9.1 估计准确率的置信区间100
3.9.2 比较两个模型的性能101
文献注释102
参考文献105
习题108
第4章 分类:其他技术114
4.1 分类器的种类114
4.2 基于规则的分类器115
4.2.1 基于规则的分类器原理116
4.2.2 规则集的属性116
4.2.3 规则提取的直接方法117
4.2.4 规则提取的间接方法120
4.2.5 基于规则的分类器的特点121
4.3 最近邻分类器122
4.3.1 算法123
4.3.2 最近邻分类器的特点124
4.4 朴素贝叶斯分类器124
4.4.1 概率论基础125
4.4.2 朴素贝叶斯假设127
4.5 贝叶斯网络132
4.5.1 图表示132
4.5.2 推理与学习135
4.5.3 贝叶斯网络的特点139
4.6 logistic回归140
4.6.1 logistic回归用作广义线性模型141
4.6.2 学习模型参数141
4.6.3 logistic回归模型的特点142
4.7 人工神经网络143
4.7.1 感知机144
4.7.2 多层神经网络146
4.7.3 人工神经网络的特点150
4.8 深度学习151
4.8.1 使用协同损失函数151
4.8.2 使用响应激活函数153
4.8.3 正则化154
4.8.4 模型参数的初始化155
4.8.5 深度学习的特点157
4.9 支持向量机158
4.9.1 分离超平面的边缘158
4.9.2 线性SVM159
4.9.3 软边缘SVM162
4.9.4 非线性SVM165
4.9.5 SVM的特点167
4.10 组合方法168
4.10.1 组合方法的基本原理168
4.10.2 构建组合分类器的方法169
4.10.3 偏置方差分解170
4.10.4 装袋171
4.10.5 提升173
4.10.6 随机森林176
4.10.7 组合方法的实验比较177
4.11 类不平衡问题178
4.11.1 类不平衡的分类器构建179
4.11.2 带类不平衡的性能评估180
4.11.3 寻找最优的评分阈值183
4.11.4 综合评估性能183
4.12 多类问题188
文献注释189
参考文献193
习题198
第5章 关联分析:基本概念和算法205
5.1 预备知识205
5.2 频繁项集的产生207
5.2.1 先验原理209
5.2.2 Apriori算法的频繁项集产生210
5.2.3 候选项集的产生与剪枝212
5.2.4 支持度计数215
5.2.5 计算复杂度217
5.3 规则的产生219
5.3.1 基于置信度的剪枝219
5.3.2 Apriori算法中规则的产生219
5.3.3 示例:美国国会投票记录221
5.4 频繁项集的紧凑表示221
5.4.1 极大频繁项集221
5.4.2 闭项集223
* 5.5 其他产生频繁项集的方法225
* 5.6 FP增长算法228
5.6.1 FP树表示法228
5.6.2 FP增长算法的频繁项集产生229
5.7 关联模式的评估231
5.7.1 兴趣度的客观度量232
5.7.2 多个二元变量的度量239
5.7.3 辛普森悖论240
5.8 倾斜支持度分布的影响241
文献注释244
参考文献248
习题256
第6章 关联分析:高级概念263
6.1 处理