自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章)中选择多种主题进行讲解。我们还建议通过数据挖掘中的项目或实践练习来强化听课效果,虽然它们要花费一些时间,但这种实践作业可以大大提高课程的价值。
支持材料 本书的读者可以在http://www-users.cs.umn.edu/~kumar/dmbook/上获取相关材料:
●课程幻灯片。
●学生项目建议。
●数据挖掘资源,如数据挖掘算法和数据集。
●联机指南,使用实际的数据集和数据分析软件,为本书介绍的部分数据挖掘技术提供例子讲解。
其他支持材料(包括习题答案)只向采纳本书做教材的教师提供。读者可通过邮箱dmbook@cs.umn.edu将意见和建议以及勘误发给作者。
致谢 许多人都为本书的出版做出了贡献。首先向家人表示感谢,这本书是献给他们的。正是有他们的耐心和支持,本书才能顺利完成。
感谢明尼苏达大学和密歇根州立大学数据挖掘小组的学生所做的贡献。Eui-Hong(Sam) Han和Mahesh Joshi帮助我们准备了最初的数据挖掘课程。他们编制的某些习题和演示幻灯片已经收录在本书及教辅幻灯片中。小组中的其他学生也为本书的初稿提出建议或以各种方式做出贡献,他们是:Shyam Boriah、Haibin Cheng、Varun Chandola、Eric Eilertson、Levent Ertz、Jing Gao、Rohit Gupta、Sridhar Iyer、Jung-Eun Lee、Benjamin Mayer、Aysel Ozgur、Uygar Oztekin、Gaurav Pandey、Kashif Riaz、Jerry Scripps、Gyorgy Simon、Hui Xiong、Jieping Ye和Pusheng Zhang。还要感谢明尼苏达大学和密歇根州立大学选修数据挖掘课程的学生,他们使用了本书的初稿,并提供了极富价值的反馈。特别感谢Bernardo Craemer、Arifin Ruslim、Jamshid Vayghan和Yu Wei的有益建议。
Joydeep Ghosh(得克萨斯大学)和Sanjay Ranka(佛罗里达大学)试用了本书的初稿。我们也直接从得克萨斯大学下列学生那里获得了许多有用的建议:Pankaj Adhikari、Rajiv Bhatia、Frederic Bosche、Arindam Chakraborty、Meghana Deodhar、Chris Everson、David Gardner、Saad Godil、Todd Hay、Clint Jones、Ajay Joshi、Joonsoo Lee、Yue Luo、Anuj Nanavati、Tyler Olsen、Sunyoung Park、Aashish Phansalkar、Geoff Prewett、Michael Ryoo、Daryl Shannon 和Mei Yang。
Ronald Kostoff(ONR)阅读了聚类部分的初稿,并提出了许多建议。George Karypis对创建索引提供了宝贵的帮助。Irene Moulitsas提供了LaTeX支持,并审阅了一些附录。Musetta Steinbach发现了图中的一些错误。
感谢明尼苏达大学和密歇根州立大学的同事,他们帮助创建了良好的数据挖掘研究环境。他们是:Arindam Banerjee、Dan Boley、Joyce Chai、Anil Jain、Ravi Janardan、Rong Jin、George Karypis、Claudia Neuhauser、Haesun Park、William F. Punch、Gyrgy Simon、Shashi Shekhar和Jaideep Srivastava。还要向我们的数据挖掘项目的合作者表示谢意,他们是:Ramesh Agrawal、Maneesh Bhargava、Steve Cannon、Alok Choudhary、Imme Ebert-Uphoff、Auroop Ganguly、Piet C. de Groen、Fran Hill、Yongdae Kim、Steve Klooster、Kerry Long、Nihar Mahapatra、Rama Nemani、Nikunj Oza、Chris Potter、Lisiane Pruinelli、Nagiza Samatova、Jonathan Shapiro、Kevin Silverstein、Brian Van Ness、Bonnie Westra、Nevin Young和Zhi-Li Zhang。
明尼苏达大学和密歇根州立大学的计算机科学与工程系为本书写作及研究提供了计算资源和支持环境。ARDA、ARL、ARO、DOE、NASA和NSF等机构为本书作者提供了研究资助。特别是Kamal Abdali、Mitra Basu、Dick Brackney、Jagdish Chandra、Joe Coughlan、Michael Coyle、Stephen Davis、Frederica Darema、Richard Hirsch、Chandrika Kamath、Tsengdar Lee、Raju Namburu、N. Radhakrishnan、James Sidoran、Sylvia Spengler、Bhavani Thuraisingham、Walt Tiernin、Maria Zemankova、Aidong Zhang和Xiaodong Zhang,他们有力地支持了我们的数据挖掘和高性能计算研究。
与培生出版集团的工作人员的合作令人愉快。具体来说,我们要感谢Matt Goldstein、Kathy Smith、Carole Snyder和Joyce Wells。还要感谢George Nichols帮助绘图,Paul Anagnostopoulos提供LaTeX支持。
感谢培生邀请的审稿人:Leman Akoglu(卡内基梅隆大学)、Chien-Chung Chan(阿克伦大学)、Zhengxin Chen(内布拉斯加大学奥马哈分校)、Chris Clifton(普度大学)、Joydeep Ghosh(得克萨斯大学奥斯汀分校)、Nazli Goharian(伊利诺伊理工学院)、J. Michael Hardin(阿拉巴马大学)、Jingrui He(亚利桑那州立大学)、James Hearne(西华盛顿大学)、Hillol Kargupta(马里兰大学巴尔的摩县分校和Agnik公司)、Eamonn Keogh(加利福尼亚大学河滨分校)、Bing Liu(伊利诺伊大学芝加哥分校)、Mariofanna Milanova(阿肯色大学小石城分校)、Srinivasan Parthasarathy(俄亥俄州立大学)、Zbigniew W.Ras(北卡罗来纳大学夏洛特分校)、Xintao Wu(北卡罗来纳大学夏洛特分校)和Mohammed J.Zaki(伦斯勒理工学院)。
自本书第1版出版以来,我们收到了许多指出错别字和其他各种问题的读者和学生的意见。在此无法列举所有人的名字,但非常感谢他们的意见,相关问题已在第2版中予以修正。