第3版介绍并扩展了许多主题,提供了软件工具和数据挖掘应用程序的修订部分;还更新了参考书目列表,供感兴趣的读者进一步研究;扩展了涉及每个章节的问题列表。
展示了如下新信息:
探索大数据和云计算 论述深度学习
包括卷积神经网络(CNN)的信息提出了强化学习
包含半监督学习和S3VM回顾不平衡数据的模型评估
《数据挖掘概念、模型、方法和算法(第3版)》已被全球100多所大学的“数据挖掘”课程所选用,有汉语、日语、西班牙语和波斯语等多个译本。
本书介绍了在高维数据空间中从大量数据中分析和提取信息的新技术,在前几版的基础上进行了大量的修订和更新,介绍了分析大数据集的一个系统方法。该方法集成了统计、人工智能、数据库、模式识别和计算机可视化等学科的结果。另外,深度学习技术的进步开辟了一个全新的应用领域。本书作者是该领域的著名专家,他在书中详细解释了近年来发展起来的基本概念、模型和方法。
自2011年本书第2版出版以来,数据挖掘领域取得了很大的进展。大数据(Big Data)这个术语被引入并被广泛接受,用来描述收集、分析和使用大量不同数据的数量和速度。建立新的数据科学领域,可以描述先进工具和方法的所有多学科方面,可以从大数据中提取有用的和可操作的信息。本书的第3版总结了快速变化的数据挖掘领域的这些新发展,并介绍了在学术环境和高级应用程序部署中系统方法所需的数据挖掘原则。
虽然第3版对核心内容保持不变,但本版中重要的变化和补充突出了该领域的动态,其中包括:
● 大数据、数据科学、深度学习等新课题;
● 新方法包括强化学习、云计算和MapReduce框架;
● 对不平衡数据、数据挖掘模型的公平性和聚类验证的主观性进行了新的强调;
● 附加的高级算法,如卷积神经网络(Convolutional Neural Networks,CNN),半虚拟支持向量机(Semisupervised Support Vector Machines,S3VM),Q学习,随机森林,非平衡数据建模的SMOTE算法;
● 每个章节都增加了额外的示例和练习,以及参考书目、供进一步阅读的参考资料,另外还更新了附录。
我要感谢路易斯维尔大学计算机工程与计算机科学系数据挖掘实验室的在校生和往届学生,感谢他们为第3版的编写所做的贡献。Tegjyot Singh Sethi和Elaheh Arabmakki根据他们的助教经验,为数据挖掘课程提供了以前版本的教材,并提供了评论和建议。Lingyu Lyu 和Mehmet Akif Gulum帮我校对了新版,并对该书附录进行了大量的修改和更新。特别感谢Hanqing Hu,他帮助我准备了文本的终版本以及第3版中所有额外的图表。本书的新版本是许多同事将以前的版本作为教材积极教学的结果。他们提供了经验和建议,我要感谢他们在筹备第3版的编写过程中对我的支持和鼓励。
希望读者能通过这本新书,加深对现代数据挖掘技术及其应用的理解,并认识到该领域近面临的挑战。本书应该作为数据挖掘领域的指南,为高年级本科生或研究生、年轻的研究人员和实践者服务。虽然每一章大致遵循一个标准的教育模板,但本书的前几章更注重介绍基本概念,而后几章则建立在这些章节的基础之上,逐步介绍数据挖掘的重要的技术和方法。本书提供了基本的构建块,将使读者成为数据科学社区的一部分,并参与构建未来杰出的数据挖掘应用程序。
请扫描封底二维码获取本书参考文献。
第2版前言
从本书第1版出版以来的7年中,数据挖掘领域在开发新技术和扩展其应用范围方面有了长足的进步。正是数据挖掘领域中的这些变化,令笔者下定决心修订本书的第1版,出版第2版。本版的核心内容并没有改变,但汇总了这个快速变化的领域中的进展,呈现了数据挖掘在学术研究和商业应用领域的尖端技术。与第1版相比,显著的变化是添加了如下内容:
● 一些新主题,例如集成学习、图表挖掘、时态、空间、分布式和隐私保护等的数据挖掘;
● 一些新算法,例如分类递归树(CART)、DBSCAN (Density-Based Spatial Clustering of Applications with Noise)、BIRCH(Balanced and Iterative Reducing and Clustering Using Hierarchies)、PageRank、AdaBoost、支持向量机(Support Vector Machines,SVM)、Kohonen自组织映射(Self-Organizing Maps,SOM)和潜在语义索引(Latent Semantic Indexing,LSI);
● 详细介绍数据挖掘过程的实用方面和商用理解,讨论验证、部署、数据理解、因果关系、安全和隐私等重要问题;
● 比较数据挖掘模型的一些量化方式方法,例如ROC曲线、增益图、ROI图、McNemar测试和K折交叉验证成对t测试。
本书是一本教材,因此还增加了一些新习题。这一版也更新了附录中的内容,包含了近几年的新成果,还反映了某个新主题得到人们的重视时所发生的变化。
笔者感谢在课堂上使用本书第1版的所有同行,以及支持我、鼓励我和提出建议的所有人,并在新版中也采纳了这些建议。笔者真诚地感谢数据挖掘实验室和计算机科学系的所有同事和同学们,感谢他们审读本书,并提出了许多有益的建议。特别感谢研究生Brent Wenerstrom、Chamila Walgampaya和Wael Emara,他们耐心地校对了这个新版本,讨论新章节中的内容,还做了许多校正和增补。Joung Woo Ryu博士还帮助笔者完成了文字、所有新增图和表格的终稿,笔者对此表示诚挚的感谢。
本书是面向在校生、毕业生、研究人员和相关从业人员的一本极具价值的指南。本书介绍的广泛主题可以帮助读者了解数据挖掘对现代商业、科学甚至整个社会的影响。
第1版前言
计算机、网络和传感器的现代技术使数据的收集和组织成为一项几乎毫不费力的任务。但是,需要将捕获的数据转换为记录数据中的信息和知识,才能使其变得有用。传统上,从记录数据中提取有用信息的任务是由分析人员完成的;然而,现代商业和科学中不断增长的数据量要求使用基于计算机的方法来完成这项任务。随着数据集在规模和复杂性上的增长,不可避免地会出现从直接的手工数据分析向间接的、自动化的数据分析的转变,在这种分析中,分析人员使用更复杂、专业的工具。应用基于计算机的方法的整个过程,包括从数据中发现知识的新技术,通常称为数据挖掘。
数据挖掘的重要性源于这样一个事实:现代世界是一个数据驱动的世界。我们被数据、数字和其他东西包围着,必须对这些数据进行分析和处理,把它们转换成信息,以提供信息、指示、答案,或者帮助理解和决策。在Internet、内部网、数据仓库和数据集市的时代,经典数据分析的基本范式已经成熟,可以进行更改了。大量的数据——数百万甚至数亿条记录——现在存储在集中的数据仓库中,允许分析人员利用强大的数据挖掘方法更全面地检查数据。这类数据的数量是巨大的,而且还在不断增加,数据来源的数量实际上是无限的,涉及的领域是广泛的,工业、商业、金融和科学活动都在产生这类数据。
数据挖掘的新学科已经发展起来,尤其是从如此巨大的数据集中提取有价值的信息。近年来,从原始数据中发现新知识的方法呈爆炸式增长。考虑到低成本计算机(用于在软件中实现这些方法)、低成本传感器、通信和数据库技术(用于收集和存储数据)以及精通计算机的应用程序专家(他们可以提出“有趣的”和“有用的”应用程序问题)的大量出现,这并不奇怪。
数据挖掘技术目前是决策者的热门选择,因为它可以从大量的历史数据中提供有价值的隐藏业务和科学“情报”。然而,应该记住,从根本上讲,数据挖掘并不是一项新技术。从记录数据中提取信息和知识发现的概念在科学和医学研究中是一个成熟的概念。新出现的是一些学科和相应技术的融合,这为科学和企业界的数据挖掘创造了一个独特的机会。
本书的起源是希望有一个单一的介绍来源,我们可以在其中指导学生,而不是引导他们参考多个来源。然而,我很快发现,除了学生之外,还有很多人对汇编数据挖掘中一些重要的方法、工具和算法很感兴趣。这样的读者包括来自各种背景和职位的人,他们需要理解大量的原始数据。这本书可以供广泛的读者使用,从希望学习数据挖掘的基本过程和技术的学生,到分析师和程序员,他们将直接参与所选数据挖掘应用的跨学科团队。本书回顾了在高维数据空间中分析大量原始数据,以提取决策过程中有用的新信息的技术。本书中涉及的大多数技术的定义、分类和解释都不是新的,它们在本书后的参考资料中给出。作者的主要目标之一是采取系统和平衡的方法介绍数据挖掘过程的所有阶段,并提供足够的说明性例子。希望本书精心准备的示例能够为读者提供额外的参考和指导,帮助他们选择和构建用于自己的数据挖掘应用程序的技术和工具。要更好地理解所介绍的大多数技术的实现细节,需要读者构建自己的工具或改进应用的方法和技术。
数据挖掘的教学必须强调应用方法的概念和性质,而不是如何应用不同数据挖掘工具的机械细节。尽管有这些诱人的附加功能,但仅仅基于计算机的工具永远无法提供完整的解决方案。始终需要执行者就如何设计整个过程以及如何使用工具和使用什么工具做出重要的决策。更深入地理解方法和模型、它们的行为方式以及为什么它们会这样做,是有效、成功地应用数据挖掘技术的先决条件。这本书的前提是,在数据挖掘领域只有少数几个重要的原则和问题。任何该领域的研究人员或实践者都需要了解这些问题,以便成功地应用特定的方法、理解方法的局限性或开发新技术。本书试图介绍和讨论这些问题和原则,然后描述代表性的和流行的方法,这些方法起源于统计、机器学习、计算机图形学、数据库、信息检索、神经网络、模糊逻辑和进化计算。
本书描述了如何好地为执行数据挖掘准备环境,并讨论了在揭示大数据集中重要的模式、趋势和模型方面被证明是关键的方法。我们期望,一旦读者学习完本书,就能够成功和有效地在数据挖掘过程的所有阶段发起和执行基本活动。虽然很容易将重点放在技术上,但是当读者通读本书时,请记住,技术本身并不能提供完整的解决方案。我们编写这本书的目的之一是尽量减少与数据挖掘相关的炒作。与其做出超出数据挖掘合理预期范围的虚假承诺,还不如尝试采取更客观的方法。我们用足够的信息描述了在数据挖掘应用中产生可靠和有用结果所需的过程和算法。不提倡使用任何特定的产品或技术;数据挖掘过程的设计者必须有足够的背景知识来选择合适的方法和软件工具。
Mehmed Kantardzic
作于路易斯维尔
Mehmed Kantardzic博士,1980年获得计算机科学博士学位,2004年起在路易斯维尔大学担任教授。现任CSE(计算机科学与工程)副主席,数据挖掘实验室主任,CSE研究生部主任。他的研究重点是数据挖掘和知识发现、机器学习、软计算、点击欺诈检测和预防、流数据中的概念漂移以及医疗数据挖掘。Kantardzic博士的荣誉很多,研究论文获得了许多杰出、和荣誉提名奖,教学方面则曾荣获喜爱的教师和杰出教学奖。他曾任职于多家国际期刊的编辑委员会,是美国国家科学基金会(NSF)等多个国家科学基金会的审核员和小组成员,担任IEEEICMLA 2018等多个国际会议的总主席或项目主席。
第1章 数据挖掘的概念 1
1.1 概述 1
1.2 数据挖掘的起源 3
1.3 数据挖掘过程 5
1.4 从数据收集到数据预处理 8
1.5 用于数据挖掘的数据仓库 11
1.6 从大数据到数据科学 14
1.7 数据挖掘的商业方面:为什
么数据挖掘项目会失败 17
1.8 本书结构安排 20
1.9 复习题 22
第2章 数据准备 25
2.1 原始数据的表述 25
2.2 原始数据的特性 29
2.3 原始数据的转换 30
2.3.1 标准化 30
2.3.2 数据平整 31
2.3.3 差值和比率 32
2.4 丢失数据 32
2.5 时间相关数据 34
2.6 异常点分析 37
2.7 复习题 43
第3章 数据归约 47
3.1 大型数据集的维度 47
3.2 特征归约 49
3.2.1 特征选择 51
3.2.2 特征提取 55
3.3 Relief算法 57
3.4 特征排列的熵度量 59
3.5 主成分分析 61
3.6 值归约 63
3.7 特征离散化:ChiMerge
技术 66
3.8 案例归约 69
3.9 复习题 71
第4章 从数据中学习 75
4.1 学习机器 76
4.2 统计学习原理 80
4.3 学习方法的类型 84
4.4 常见的学习任务 86
4.5 支持向量机 89
4.6 半监督支持向量机
(S3VM) 100
4.7 k近邻分类器 103
4.8 模型选择与泛化 106
4.9 模型的评估 109
4.10 不均衡的数据分类 115
4.11 90%准确的情形 118
4.11.1 保险欺诈检测 118
4.11.2 改进心脏护理 120
4.12 复习题 121
第5章 统计方法 125
5.1 统计推断 125
5.2 评测数据集的差异 127
5.3 贝叶斯定理 130
5.4 预测回归 132
5.5 方差分析 136
5.6 对数回归 138
5.7 对数-线性模型 139
5.8 线性判别分析 143
5.9 复习题 144
第6章 决策树和决策规则 149
6.1 决策树 150
6.2 C4.5算法:生成决策树 152
6.3 未知的属性值 158
6.4 修剪决策树 161
6.5 C4.5算法:生成决策
规则 163
6.6 CART算法和Gini
指标 165
6.7 决策树和决策规则的
局限性 168
6.8 复习题 170
第7章 人工神经网络 175
7.1 人工神经元的模型 177
7.2 人工神经网络的结构 179
7.3 学习过程 181
7.4 使用ANN完成的学习
任务 184
7.4.1 模式联想 184
7.4.2 模式识别 185
7.4.3 函数近似 185
7.4.4 控制 185
7.4.5 过滤 186
7.4.6 预测 186
7.5 多层感知机 187
7.6 竞争网络和竞争学习 193
7.7 SOM 196
7.8 深度学习 201
7.9 卷积神经网络 205
7.10 复习题 207
第8章 集成学习 211
8.1 集成学习方法论 212
8.2 多学习器组合方案 216
8.3 bagging和boosting 217
8.4 AdaBoost算法 218
8.5 复习题 220
第9章 聚类分析 223
9.1 聚类的概念 223
9.2 相似度的度量 226
9.3 凝聚层次聚类 231
9.4 分区聚类 234
9.5 增量聚类 237
9.6 DBSCAN算法 239
9.7 BIRCH算法 241
9.8 聚类验证 244
9.9 复习题 247
第10章 关联规则 253
10.1 购物篮分析 254
10.2 Apriori算法 255
10.3 从频繁项集中得到关联
规则 257
10.4 提高Apriori算法的
效率 258
10.5 FP增长方法 260
10.6 关联分类方法 262
10.7 多维关联规则挖掘 264
10.8 复习题 265
第11章 Web挖掘和文本挖掘 271
11.1 Web挖掘 271
11.2 Web内容、结构与使用
挖掘 273
11.3 HITS和LOGSOM
算法 275
11.4 挖掘路径遍历模式 280
11.5 PageRank算法 282
11.6 推荐系统 284
11.7 文本挖掘 285
11.8 潜在语义分析 289
11.9 复习题 293
第12章 数据挖掘高级技术 297
12.1 图挖掘 297
12.2 时态数据挖掘 309
12.2.1 时态数据表示 311
12.2.2 序列之间的相似性
?度量 315
12.2.3 时态数据模型 316
12.2.4 挖掘序列 318
12.3 空间数据挖掘(SDM) 321
12.4 分布式数据挖掘(DDM) 325
12.5 关联并不意味着存在因果
?关系 331
12.6 数据挖掘的隐私、安全及
法律问题 336
12.7 基于Hadoop和Map/Reduce
的云计算 341
12.8 强化学习 345
12.9 复习题 349
第13章 遗传算法 353
13.1 遗传算法的基本原理 354
13.2 用遗传算法进行优化 355
13.2.1 编码方案和初始化 356
13.2.2 适合度估计 357
13.2.3 选择 357
13.2.4 交叉 358
13.2.5 突变 359
13.3 遗传算法的简单例证 360
13.3.1 表述 360
13.3.2 初始群体 361
13.3.3 评价 361
13.3.4 交替 362
13.3.5 遗传算子 362
13.3.6 评价(第二次迭代) 363
13.4 图式 364
13.5 旅行推销员问题 366
13.6 使用遗传算法的机器
学习 368
13.6.1 规则交换 371
13.6.2 规则概化 371
13.6.3 规则特化 371
13.6.4 规则分割 371
13.7 遗传算法用于聚类 372
13.8 复习题 374
第14章 模糊集和模糊逻辑 375
14.1 模糊集 375
14.2 模糊集的运算 380
14.3 扩展原理和模糊关系 384
14.4 模糊逻辑和模糊推理
系统 387
14.5 多因子评价 391
14.5.1 选择布料的问题 391
14.5.2 教学评估的问题 392
14.6 从数据中提取模糊
模型 393
14.7 数据挖掘和模糊集 397
14.8 复习题 399
第15章 可视化方法 401
15.1 感知和可视化 401
15.2 科学可视化和信息
可视化 402
15.3 平行坐标 408
15.4 放射性可视化 410
15.5 使用自组织映射进行
可视化 412
15.6 数据挖掘的可视化
系统 413
15.7 复习题 417
附录A 数据挖掘工具 419
A.1 数据挖掘期刊 419
A.2 数据挖掘会议 423
A.3 数据挖掘论坛/博客 426
A.4 数据集 428
A.4.1 分类 428
A.4.2 聚类 429
A.4.3 回归 430
A.4.4 Web挖掘 430
A.4.5 文本挖掘 430
A.4.6 时间序列 431
A.4.7 关联规则挖掘的
数据 431
A.5 商业与公共可用工具 431
A.5.1 免费软件 431
A.5.2 具有试用版本的商业
软件 433
A.5.3 没有试用版本的商业
软件 436
A.6 Web站点链接 439
A.6.1 一般Web站点 439
A.6.2 关于数据挖掘的软件
工具的Web站点 439
A.6.3 数据挖掘供应商 441
附录B 数据挖掘应用 447
B.1 财务数据分析的数据
挖掘 447
B.2 电信业的数据挖掘 450
B.3 零售业的数据挖掘 452
B.4 卫生保健业和生物医学
研究中的数据挖掘 455
B.5 科学和工程中的数据
挖掘 457
B.6 数据挖掘的缺陷 460