前言 本教材第1版于2017年7月由清华大学出版社正式出版发行。随后在重庆邮电大学经过3年的教学实践,根据各方反馈意见,并汇总读者的建议进一步修订完善,第2版最终于2021年金秋季节出版发行。 第2版基本沿用了第1版的叙述方式,继承并保留了总体结构。同时,在针对性、实用性和拓展性方面进行了删减和补充。与第1版相比,主要有以下几方面变化: 重写了多个章节的案例部分,这些案例都用Python语言实现,本书给出了案例的全部源代码。 更换了一些章节的实例和图表,如第2章的主成分分析实例,第4章的第一个引例,以及FPGrowth算法的实例等。 删除了第1版的第8章和第4章的第5小节,增加了第7章的第2小节,即前馈神经网络的介绍。 修正了多处排版问题及若干实质性错误。请此前版本的读者下载勘误表,并做相应的更正。 感谢我们的读者、学生及同行提出的宝贵意见,这些意见和建议成为本教材不断完善的保证。 本教材提供了丰富的教学资源,供教师教学和学生学习时使用。以本教材各章内容为基础的在线微视频开放课程“大数据分析与处理”是国家级精品在线开放课程,已经在高校邦、学银在线和重庆市高校在线开放课程平台网站上线,教师可以通过课前推送的方式指导学生观看相关视频,进行课前预习,其他读者可以通过该视频课程巩固和掌握各个知识点。除此之外,还提供了一些附加材料,包括每章的课件、涉及样例的完整程序、课后习题解答等,方便读者使用。 本教材第2版的第1、10章由王国胤和刘群编写,第2、4章由刘群编写,第3章由秦红星编写,第5、6章由于洪编写,第7章由曾宪华编写,第8、9章由吴思远编写。全书由王国胤负责组织设计,王国胤和刘群负责统稿。 本教材的编写得到重庆邮电大学计算智能重庆市重点实验室和计算机科学与技术学院教师的大力支持和帮助,也得到许多研究生的支持,他们收集并整理了大量资料,没有他们的帮助,本教材很难在预定时间内完成,在此感谢他们做出的贡献。 由于作者经验有限,时间紧迫,教材中难免存在不足,欢迎读者批评指正。 作者 2021年8月 今天,“大数据”已经成为一个非常时尚的概念,得到广泛应用,不仅受到IT从业人员的重视,而且影响到了自然科学、社会科学、人文科学等领域的广大从业者,并对社会经济的各行业产生了深远的影响。大数据已经不再是对大量数据的处理问题了,最重要的是对大数据进行分析,只有通过分析才能从数据中获取深入的、智能的、有价值的信息与知识。不断增长的大数据呈现出数据量大、种类繁多、增速很快以及隐藏价值大的特点,因此好的分析技术和方法在大数据应用领域显得尤为重要。本书围绕大数据背景下的数据挖掘和应用问题,从大数据挖掘的基本概念入手,由浅入深、循序渐进地介绍了大数据挖掘分析过程中的数据准备和预处理技术、数据可视化技术、数据挖掘的基本方法、大数据分析计算的常用平台架构编程方法、并行化程序设计技术以及常用的SPSS统计分析工具、流行的统计分析R语言等内容。本书不仅面向在校大学生,而且面向社会广大的IT从业人员,有助于读者了解大数据挖掘所涉及的基本技术和方法。作者力图使读者通过学习,提高数据分析的实践动手能力,拓展在数据分析领域的视野。 参与编写本书的所有作者均来自重庆邮电大学计算智能重庆市重点实验室,都具有多年从事数据挖掘、机器学习等人工智能领域的科研和教学实践经验。本书在结构设计与内容安排上既体现了所有作者的群体智慧,也体现了本领域的近期发展和前沿成果。 目前,大数据的知识挖掘及应用方法逐渐成为各高校信息类和管理类本科专业的必修课程内容,同时,作为面向各专业的通识课也广受欢迎。本书作为立足于本科教学的教材,具有如下特色: (1) 在逻辑安排上循序渐进,由浅入深,便于读者系统学习。 (2) 内容丰富,信息量大,融入了大量本领域的新知识和新方法。 (3) 作为教材,在每一个环节都配有与理论学习内容相结合的案例分析,不仅有学生参赛作品展示,还有采用Python和R语言编写的应用实例,尤其是在第10章还给出了完整的大数据分析应用实际案例,使读者能够在大数据平台上实际感受一个完整的数据分析过程。 (4) 图文并茂,形式生动,可读性强。 全书内容分为3部分,共11章。第1部分是数据挖掘及应用导论,由第1~3章组成。 第1章主要是关于大数据挖掘及应用的概论。本章讨论了大数据挖掘及应用普及的发展历程及重要性,探讨了目前所面临的挑战和问题,介绍了数据挖掘的基本概念、功能和方法,进而对大数据挖掘的计算框架和处理流程进行了分析总结。在本章教学中,可以紧跟最新事件,以生动的实例、动画、视频等形式激发学生兴趣。建议2学时。 第2章的主题是数据认知和数据准备。本章首先从数据分析的定义和流程入手,给出了评价高质量数据的指标。然后对数据由什么类型的属性或字段组成,每个属性具有何种类型的数据值,是离散属性还是连续属性进行了描述,进而讨论了数据的中心趋势和离散趋势度量指标,以及数据相似性和相关性的计算方法,并着重探讨了数据预处理中数据清理、数据集成、数据归约和数据变换的技术。最后简述了目前常用的数据统计分析和预处理工具,并用一个案例对SPSS工具进行了介绍。在本章教学中,可以以一种数据统计分析工具为背景,进行形象具体的介绍。建议6学时。 第3章主要介绍数据可视化技术。本章从可视化技术的应用开始,介绍了最常用的高维数据可视化方法和网络数据可视化方法,最后通过两个竞赛案例对可视化技术的实际应用作了详细的讲解。可视化技术能够以图形的表现方式帮助人们识别隐藏在杂乱数据集中的关系、趋势和偏差等有价值信息。在本章教学中,可以运用可视化软件进行案例演示,激发学生的学习兴趣。建议6学时。 第2部分是数据挖掘及应用的方法论,由第4~8章组成。 第4章包含数据关联分析的基本知识和主要经典算法。数据关联分析是数据挖掘中应用最早和最成熟的一类方法。本章从一个问题案例出发,先后介绍了关联规则分析的基本概念以及3种典型的频繁项集挖掘算法,并对关联规则的有效性进行了探讨,将学习内容扩展到频繁项集挖掘的一些高级方法,例如多维关联规则挖掘和多层关联规则挖掘,最后使用Python语言给出了经典Apriori算法的一个应用案例。在本章教学中,可以结合数据挖掘领域著名的开源软件weka进行演示教学,让学生形象地体会经典关联分析算法产生的效果和使用全过程。建议6学时。 第5章包含数据分类分析的基本知识以及主要经典算法。本章从介绍分类的基本概念入手,讲解了数据分类分析的基本方法,包括最常用的决策树分类器,基于概率统计思想的贝叶斯分类算法,具有统计学习理论坚实基础的支持向量机算法,以及通过构建一组基于学习器进行集成学习的Adaboost算法,最后使用Python语言给出了一个具体案例,使读者能够熟悉数据分类分析的全过程。在本章教学中,可以结合数据挖掘领域著名的开源软件weka进行演示教学,让学生形象地体会经典分类算法产生的效果和使用全过程。建议6学时。 第6章包含数据聚类分析的基本知识和主要经典算法。本章首先引入聚类的基本概念,进而讲解各种聚类算法,包括基于划分的kmeans算法和k中心点算法,基于层次的算法,基于密度的DBSCAN算法以及基于概率模型的期望最大化算法,并简要讨论了评估聚类方法的准则,最后使用Python语言给出一个案例,帮助读者更好地理解聚类分析技术。在本章教学中,可以结合数据挖掘领域著名的开源软件weka进行演示教学,让学生形象地体会经典聚类算法产生的效果和使用全过程。建议4~5学时。 第7章探讨人工智能研究中的一个重要的新领域——深度学习。本章首先介绍深度学习的发展和基本概念,然后具体分析了深度学习的几种经典模型与算法,包括最常用的深信网、深玻尔兹曼机、栈式自动编码器和卷积神经网络,最后介绍了几种深度学习开源模型并给出了一个具体案例,帮助读者了解深度学习在实际应用中的完整工作过程。在本章教学中,可以结合书中介绍的某一种深度学习开源框架,采用相应的数据集进行演示教学,让学生形象地体会深度学习算法产生的效果和使用全过程。建议6学时。 第8章介绍目前流行的统计分析R语言。本章首先从R语言的下载安装开始,介绍R语言的基本技术,包括运行方法、常用操作、包的使用、常用数据结构、编程结构以及与数据挖掘和图形绘制相关的包,最后使用R语言给出了一个从数据预处理到数据分析的具体案例,使读者能够熟悉使用R语言做数据分析的全过程。在本章教学中,可以通过类似实训课程或者视频录像的形式,让学生形象地体会并掌握R语言的操作方法和编程基础。建议4学时。 第3部分属于数据挖掘及应用的进阶部分,由第9~11章组成。 第9章的主题是大数据分布式存储与并行计算的平台Apache Hadoop及其编程框架。本章从介绍Hadoop集群的基本概念开始,讲解了HDFS基本操作、MapReduce并行计算基础、基于Storm的分布式实时计算以及基于Spark Streaming的分布式实时计算等内容。在各节中都给出了若干案例,以供读者在实际编程过程中进行参考。在本章教学中,可以要求学生紧扣教材,完成各节中的案例,增强身临其境的体验。建议4~5学时。 第10章介绍大数据分析处理算法的并行化基础理论和技术。本章介绍了并行计算算法的基本概念,以MRKMeans算法为典型案例分析了其在MapReduce计算框架下的并行化,并基于Mahout和MLlib对该算法进行了并行化实现,最后给出了3个完整的MapReduce平台下数据分析的具体案例,使读者能够了解在大数据平台上进行数据分析的全过程。在本章教学中,可以通过专门的视频演示,让学生理解并行化编程的复杂实际操作。建议4~5学时。 第11章主要关注大数据挖掘及应用的发展趋势和研究前沿。本章首先从大数据时代发展的回顾与展望开始,介绍了大数据发展过程中出现的典型新数据类型以及新挖掘分析方法,并在最后对大数据的发展进行了展望。建议2学时。 本书各章提供的教学建议和学时安排仅供教师参考。教师可以根据教学过程中的实际安排删减内容和调整学时。本书还提供了一些丰富的教学资源供教师教学参考和学生学习时使用。以本书各章内容为基础的在线微视频开放课程已经在cqupt.gaoxiaobang.com网站上线,教师可以通过课前推送的方式,指导学生观看相关视频进行课前预习,其他读者可以通过该视频课程巩固和完善对各个知识点的理解。除此之外,我们还提供了一些其他的附加材料,包括每章的幻灯片、每章涉及的案例的软件程序、课后习题解答以及一些案例的演示视频,以上这些资料在清华大学出版社的网站上向教师提供。 本书的第1、11章由王国胤和张旭编写,第2、4章由刘群编写,第3章由秦红星编写,第5、6章由于洪编写,第7章由曾宪华编写,第8章由吴思远编写,第9章由李智星编写,第10章由张旭编写。全书架构由王国胤负责设计,王国胤和刘群负责统稿。 本书的编写得到了重庆邮电大学计算智能重庆市重点实验室和计算机科学与技术学院教师们的大力支持和帮助,也得到了许多研究生的支持,他们帮助收集并整理了大量资料。没有他们的帮助,本书很难在约定时间内完成。在此,感谢他们对本书的写作所做出的各种贡献。 限于作者学识和经验,书中难免会出现不足和遗漏之处,欢迎读者指出,一旦问题被证实,我们将给出更新勘误表,并对您表示感谢。 感谢读者的鼎力支持,本书得以再次印刷。由于作者学识浅显,经验有限,书中出现了一些遗漏和错误,已经进行了更正。欢迎读者继续指出本书中的错误,一经确认,我们将更新勘误表,并对您的贡献致谢。 作者 2017年7月