
本书内容涵盖数据科学和大数据技术的基础知识,围绕数据科学的工作流程,详细介绍了从数据中获取知识的方法和技术,包括数据采集、数据整理与探索、数据可视化和数据建模预测等。本书介绍了人工智能前沿领域中文本、图像、语音、序列数据的主流分析处理方法,同时也阐述了基于大数据分布式计算框架处理海量数据的平台和工具。全书设计收集了多个数据应用案例,采用Python语言及相关科学计算工具包实现数据分析过程,帮助读者通过实际案例培养数据思维,掌握数据分析的实践技能,运用统计学、人工智能等先进技术解决实际问题。 本书通俗易懂、实例丰富、技术先进,配备丰富的教学资源,可作为各类高等院校数据科学、大数据技术的入门教材,以及计算机基础教学较高层次课程的教材,也可以作为数据科学实践的技术参考书。
前 言 当今社会已进入大数据时代,社会、经济和生活逐渐被“数据化”,政府机构、企业等逐渐意识到数据已成为组织最重要的资产,数据分析解读能力正成为组织的核心竞争力。通过分析数据,改善实施计划、过程和决策,已成为各行业从业人员应具备的基本技能。 本书从培养数据思维角度,以实际应用案例作为驱动,围绕数据科学工作流程的核心问题,介绍从数据中获取知识的新思维方式、方法和技术。在传统的数据统计分析方法基础上,增加了基于机器学习的建模分析方法,通过图像、文本、语音等人工智能典型数据的应用案例引入数据科学的前沿技术,为大学生打开数据时代的创新之门。 本书结合编者多年来面向高校通识计算机教学的经验,将数据科学中的相关理论知识深入浅出,娓娓道来,尽可能避免深奥的数学表达,通过图表帮助读者理解数据分析方法的基本思想。各章节设计和引入了大量贴近生活、专业学习的案例,面向应用需求,归纳数据科学问题,设计解决方案,实现分析过程,解读分析结果以辅助决策。本书采用Python语言实现数据分析过程,尽可能使用简洁统一的函数集,使读者专注于解决问题的思维方式,减少程序实现方面的困扰。 第2版教材在第1版的基础上,主要改进如下。 1)第4章中引入了主流的pyecharts开源库,实现地图、动态交互图的绘制。 2)将原来机器学习建模分析拆分为两章,第5章在介绍浅层机器学习模型基础上,增加了集成学习和降维分析方法的应用。 3)第6章介绍神经网络与深度学习建模分析,在第7、9章中引入了采用深度学习模型处理文本、序列数据的新方法,去掉了较复杂的统计处理方法。 4)增加了第10章大数据技术,介绍常用的大数据框架Hadoop和Spark,以及分布式数据建模分析的方法和常用工具。 5)修正了第1版中的一些错误,并对不合理之处进行了删减、增加或修改。 为了辅助教师开展教学,配合读者学习,本书在大多数节后附有思考与练习,在每章后提供综合练习题。另外,本书为一些章节内容添加了二维码,扫描二维码可以阅读相关文档或观看讲解视频。读者登录华信教育资源网(www.hxedu.com.cn)注册后可以免费下载本书资源包,其中包括电子课件、教学和实验案例,以及习题解答等。 本书由宋晖教授和刘晓强教授主编,王洪亚、杜明、李柏岩、徐波等教师参与了部分章节的编写工作。岳万琛、王舒怡、黎飞雪和方智和等学生帮助整理了书稿的部分内容及制作了教学资源,在此表示感谢。限于编者水平,书中不足之处在所难免,敬请读者和同行批评指正。 编 者
目 录 第1章 数据科学基础 (1) 1.1 数据科学概述 (1) 1.1.1 数据的力量 (1) 1.1.2 数据科学的知识结构 (2) 1.1.3 数据科学的工作流程 (4) 1.2 数据科学的关键技术 (5) 1.2.1 数据采集 (5) 1.2.2 数据预处理 (7) 1.2.3 数据存储与管理 (8) 1.2.4 数据分析 (9) 1.3 Python数据分析工具 (9) 1.3.1 科学计算集成环境 (9) 1.3.2 Python编译环境 (10) 1.3.3 Jupyter Notebook (11) 1.4 Python语言基础 (12) 1.4.1 常用数据类型 (12) 1.4.2 流程控制 (14) 1.4.3 函数和方法库 (16) 综合练习题 (17) 第2章 多维数据结构与运算 (18) 2.1 多维数组对象 (18) 2.1.1 多维数组(张量) (18) 2.1.2 一维数组对象 (19) 2.1.3 二维数组对象 (21) 2.1.4 创建多维数组的常用函数 (23) 2.2 多维数组运算 (25) 2.2.1 基本算术运算 (26) 2.2.2 函数和矩阵运算 (27) 2.2.3 随机数组生成函数 (29) 2.3 案例:随机游走轨迹模拟 (30) 综合练习题 (33) 第3章 数据汇总与统计 (34) 3.1 统计的基本概念 (34) 3.1.1 统计的含义 (34) 3.1.2 常用统计量 (35) 3.2 pandas数据结构 (37) 3.2.1 Series对象 (37) 3.2.2 Series对象的数据访问 (38) 3.2.3 DataFrame对象 (40) 3.2.4 DataFrame对象的数据访问 (41) 3.3 数据文件的读/写 (45) 3.3.1 读/写CSV文件和TXT文件 (45) 3.3.2 读取Excel文件 (48) 3.4 数据清洗 (49) 3.4.1 缺失数据处理 (49) 3.4.2 去除重复数据 (52) 3.5 数据规整化 (52) 3.5.1 数据合并 (52) 3.5.2 数据排序 (55) 3.6 统计分析 (56) 3.6.1 通用函数与运算 (57) 3.6.2 统计函数 (57) 3.6.3 相关性分析 (60) 3.6.4 案例:问卷调查反馈表分析 (60) 综合练习题 (63) 第4章 数据可视化 (64) 4.1 Python绘图基础 (64) 4.1.1 认识基本图形 (64) 4.1.2 pandas快速绘图 (64) 4.1.3 Matplotlib精细绘图 (66) 4.2 可视化数据探索 (71) 4.2.1 绘制常用图形 (71) 4.2.2 使用pyecharts绘制交互数据图 (81) 综合练习题 (85) 第5章 机器学习建模分析 (88) 5.1 机器学习概述 (88) 5.1.1 机器学习与人工智能 (88) 5.1.2 Python机器学习方法库 (90) 5.2 回归分析 (90) 5.2.1 回归分析原理 (90) 5.2.2 回归分析实现 (91) 5.2.3 回归分析性能评估 (94) 5.3 分类分析 (96) 5.3.1 分类学习原理 (96) 5.3.2 决策树 (98) 5.3.3 支持向量机 (102) 5.4 聚类分析 (106) 5.4.1 聚类任务 (106) 5.4.2 K-means算法 (107) 5.4.3 聚类方法的性能评估 (110) 5.5 数据降维 (112) 5.5.1 降维分析方法 (112) 5.5.2 主成分分析 (113) 5.6 集成学习 (115) 5.6.1 随机森林算法的基本原理 (116) 5.6.2 梯度提升机算法的基本原理 (116) 5.6.3 集成学习建模分析 (117) 综合练习题 (119) 第6章 神经网络与深度学习建模分析 (120) 6.1 神经网络概述 (120) 6.1.1 神经元与感知器 (120) 6.1.2 神经网络模型 (121) 6.1.3 神经网络分类实现 (122) 6.2 深度学习 (125) 6.2.1 深度学习的基本原理 (125) 6.2.2 深度学习框架Keras (126) 6.2.3 深度学习建模分析实例 (128) 综合练习题 (130) 第7章 文本数据处理 (131) 7.1 文本处理概述 (131) 7.1.1 文本处理的常见任务 (131) 7.1.2 文本处理的基本步骤 (132) 7.2 中文文本处理 (134) 7.2.1 中文分词 (134) 7.2.2 词性标注 (135) 7.2.3 特征提取 (136) 7.3 实例:垃圾邮件的识别 (140) 7.3.1 数据来源 (140) 7.3.2 基于词袋模型识别垃圾邮件 (141) 7.3.3 基于词向量模型识别垃圾邮件 (143) 综合练习题 (146) 第8章 图像数据处理 (147) 8.1 数字图像概述 (147) 8.1.1 数字图像 (147) 8.1.2 数字图像类型 (147) 8.1.3 数字图像处理 (148) 8.2 Python图像处理 (149) 8.2.1 Python图像处理库 (149) 8.2.2 图像的基本操作 (150) 8.3 案例:深度学习实现图像分类 (152) 8.3.1 卷积神经网络 (152) 8.3.2 基于Keras实现图像分类 (153) 综合练习题 (157) 第9章 时序数据与语音处理 (158) 9.1 时序数据概述 (158) 9.1.1 时序数据特性 (158) 9.1.2 时序数据特征的提取 (159) 9.2 时序数据分析方法 (161) 9.2.1 时序数据分析过程 (161) 9.2.2 温度预测实例 (162) 9.3 语音识别技术 (166) 9.3.1 语音识别技术简介 (166) 9.3.2 语音识别中的时序数据处理 (167) 9.3.3 在线语音识别实例 (169) 综合练习题 (171) 第10章 大数据技术 (172) 10.1 大数据概述 (172) 10.1.1 大数据的特点 (172) 10.1.2 大数据技术 (174) 10.1.3 大数据基础设施 (175) 10.2 分布式计算框架 (177) 10.2.1 Hadoop概述 (178) 10.2.2 MapReduce分布式计算 (180) 10.2.3 Spark分布式计算 (182) 10.2.4 Spark分布式计算 (183) 10.3 分布式建模分析工具 (185) 10.3.1 Hadoop Mahout (185) 10.3.2 Spark MLlib (186) 10.3.3 Spark MLlib建模分析 (187) 综合练习题 (188) 参考资料 (189)
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0415150