- 商品参数
-
- 作者:
郭继东著|
郭继东编
- 出版社:电子工业出版社
- 页数:424页
- ISBN:9787121488481
- 版权提供:电子工业出版社
内容介绍
本书是高等学校开设数据科学导论或工程实践等课程的配套用书。本书不仅介绍了数据科学的基础知识,还特别引入了探索性数据分析流程的相关内容,主要包括实践平台配置、数据预处理、数据存储与管理、探索性数据分析、单模型学习算法、集成学习算法和数据可视化等;精心设计其中的函数应用实践和综合应用实践,前者聚焦具体函数的解释和应用,后者致力于实际问题解决思路的探讨。读者可以由浅入深地了解相关理论,逐步完成相关实验内容,增强理论和实践的连贯性认知,培养数据思维和动手实践能力。 本书可作为高等学校各相关专业的数据科学导论或实践等课程的配套教材,也可供对数据科学感兴趣的读者阅读。
目录
目录
*1章 数据科学概述 1
1.1 数据科学简介 1
1.1.1 基本概念及发展历史 1
1.1.2 特点及应用领域 2
1.1.3 数据科学的过程 3
1.2 Python的安装 5
1.3 常用工具包概述 7
1.4 Anaconda3的安装 9
1.5 Jupyter Notebook的使用 10
1.5.1 Jupyter Notebook简介 10
1.5.2 Jupyter Notebook
的启动 10
1.5.3 新手如何快速上手Jupyter Notebook 10
1.6 本章小结 12
课后习题 12
*2章 数据预处理 13
2.1 NumPy数据处理及运算 13
2.1.1 NumPy的安装 13
2.1.2 创建N维数组 14
2.1.3 NumPy切片和索引 19
2.1.4 NumPy数组操作 20
2.1.5 数学函数 32
2.1.6 统计函数 40
2.1.7 排序函数 46
2.1.8 直方图函数 47
2.2 Pandas基础 49
2.2.1 数据快捷加载 49
2.2.2 Pandas的数据结构 53
2.3 非数值数据转换 61
2.3.1 map()函数 61
2.3.2 One-Hot编码 62
2.4 数据清洗 63
2.4.1 缺失值处理 63
2.4.2 错误数据替换 65
2.4.3 数据去重 65
2.4.4 数据合并连接 66
2.4.5 数据分组及聚合 70
2.5 本章小结 72
课后习题 72
第3章 数据存储与管理 74
3.1 概述 74
3.1.1 数据存储的概念 74
3.1.2 数据管理技术的概念 74
3.1.3 数据库的概念 74
3.1.4 新型数据管理系统 75
3.2 关系数据库 75
3.2.1 关系数据模型 75
3.2.2 应用举例 76
3.3 分布式文件系统 78
3.3.1 HDFS的概念及特点 78
3.3.2 HDFS数据文件存储 78
3.3.3 HDFS的结构及组件 78
3.3.4 HDFS的读/写操作 79
3.3.5 Python访问HDFS 81
3.4 分布式数据库 82
3.4.1 HBase的特点 82
3.4.2 HBase相关概念 82
3.4.3 HBase架构 82
3.4.4 Python操作HBase 84
3.5 流数据 87
3.5.1 流数据概述 87
3.5.2 流数据模型 87
3.5.3 流数据处理系统 88
3.6 本章小结 90
课后习题 90
第4章 探索性数据分析 92
4.1 EDA简介 92
4.2 特征创建 98
4.3 维度约简 101
4.3.1 为什么要降维 101
4.3.2 基于特征转换的降维 102
4.3.3 基于特征选择的降维 122
4.3.4 基于特征组合的降维 135
4.4 异常值检测及处理 141
4.4.1 单变量异常检测 141
4.4.2 OneClassSVM 143
4.4.3 EllipticEnvelope 145
4.5 评价函数 149
4.5.1 多标签分类 149
4.5.2 二分类 151
4.5.3 回归 155
4.6 测试和验证 156
4.7 交叉验证 159
4.7.1 建立自定义评分函数 160
4.7.2 使用交叉验证迭代器 162
4.8 超参数调优 167
4.8.1 超参数调优概述 167
4.8.2 超参数调优实践 174
4.9 小结 190
课后习题 190
第5章 单模型学习算法 191
5.1 概述 191
5.1.1 分类模型和回归模型 192
5.1.2 机器学习的步骤和
要素 193
5.2 线性回归和逻辑回归 194
5.2.1 从线性回归到逻辑
回归 195
5.2.2 线性回归实践 197
5.2.3 Sigmoid函数 199
5.2.4 推广到多元场景 200
5.2.5 逻辑回归实践 201
5.2.6 算法小结 203
进阶A 交叉熵损失函数和平方差
损失函数 203
5.3 朴素贝叶斯分类 207
5.3.1 朴素贝叶斯分类算法 207
5.3.2 朴素贝叶斯实践 210
5.3.3 算法小结 212
5.4 *近邻算法 212
5.4.1 k近邻算法的概念及
原理 212
5.4.2 k值的选取及特征归一化的重要性 213
5.4.3 *近邻算法实践 215
5.4.4 算法小结 228
进阶B kd树 228
B.1 kd树的构建 228
B.2 kd树的搜索 230
B.3 kd树的不足 232
5.5 支持向量机 233
5.5.1 支持向量机基础 234
5.5.2 软间隔 236
5.5.3 核函数 236
5.5.4 支持向量机实践 238
5.5.5 算法小结 256
进阶C 对偶问题 257
C.1 拉格朗日乘子法 257
C.2 支持向量机优化 259
进阶D 软间隔情况下的*优化问题
及其求解 260
5.6 决策树 261
5.6.1 信息论知识 261
5.6.2 决策树基础 264
5.6.3 决策树实践 268
5.6.4 算法小结 285
5.7 聚类 286
5.7.1 K均值聚类 286
5.7.2 小批量KMeans 296
5.7.3 Affinity Propagation聚类
算法 299
5.7.4 层次聚类 301
5.7.5 DBSCAN 307
5.7.6 算法小结 310
5.8 本章小结 311
课后习题 311
第6章 集成学习算法 312
6.1 集成学习能带来什么 312
6.1.1 集成学习的基本步骤 313
6.1.2 集成学习中的偏差与
方差 314
6.2 Bagging元学习器 320
6.3 随机森林 326
6.3.1 随机森林算法 327
6.3.2 极度随机化树 327
6.3.3 随机森林实践 328
6.3.4 算法小结 332
6.4 Boosting算法 332
6.5 AdaBoost算法 333
6.5.1 AdaBoost实践 334
6.5.2 算法小结 341
进阶E AdaBoost算法伪代码 342
6.6 GBDT算法 342
6.6.1 分类和回归 347
6.6.2 GBDT实践 349
6.7 基于直方图的梯度提升 351
6.7.1 用法 351
6.7.2 直方图梯度提升模型
实践 353
6.8 堆叠泛化 356
6.9 概率校准 358
6.9.1 校准曲线 359
6.9.2 校准分类器 362
6.10 本章小结 373
课后习题 373
第7章 数据可视化 374
7.1 可视化的定义及作用 374
7.2 可视化的原则 375
7.3 常用的可视化分析技术与
工具 375
7.4 Matplotlib绘图 378
7.4.1 绘制曲线 378
7.4.2 绘制散点图 384
7.4.3 绘制直方图 385
7.4.4 绘制柱状图 387
7.4.5 绘制箱线图 392
7.4.6 绘制图像 394
7.4.7 绘制矩阵 396
7.5 Pandas绘图 398
7.6 Scikit-learn绘图 401
7.6.1 学习曲线 401
7.6.2 验证曲线 405
7.6.3 ROC曲线 407
7.6.4 混淆矩阵 408
7.6.5 *确率-召回率曲线 410
7.6.6 部分依赖关系图 412
7.7 本章小结 414
课后习题 414
作者介绍
郭继东,山东财经大学副教授,郭继东博士在计算机视觉、人工智能、*优化方法、数据分析与挖掘算法和矩阵分析方面有着比较深入的研究,并取得了一些创新性的研究成果。主要研究方向为人工智能、计算机视觉、*优化方法、软件架构设计、数据挖掘技术、三维重建、图像处理等。在国内外重要学术刊物及会议上发表重要学术论文20余篇,其中有多篇被SCI或EI收录。
媒体评论
(1)采用“新工科”思维,启发读者掌握“化复杂为简单”的方式,从问题入手,通过“问题/子问题”分解寻找解决方法。(2)通过大量实例,将基本知识点讲深讲透,从不同视点、不同层面进行训练,使读者了解不同问题需要采用什么方法来解决。见多才能识广,才能培养联想能力,提高分析问题和解决问题的能力。 (3)只有看得见、读得懂、做得到,才能想得深。与单纯的文字相比,图片更能让人记得住,提高学习效率。(4)采取一种针对问题的交谈式风格来组织内容。研究表明,如果学习过程中采用*一人称的交谈方式向读者讲述有关内容,那么读者的学习效率会大幅提高。(5)代码例子尽可能短小精悍。要学习编程,没有别的方法,只能通过编写大量代码来实现。(6)以数据为核心,围绕处理逻辑协同、示例驱动的教学内容展开。本书与其他教材的不同在于一开始就引入一切皆对象的思想,使用面向对象的观点讨论数据,将数据作为核心来推动课程内容的演变。
关联推荐
(1)采用“新工科”思维,启发读者掌握“化复杂为简单”的方式,从问题入手,通过“问题/子问题”分解寻找解决方法。(2)通过大量实例,将基本知识点讲深讲透,从不同视点、不同层面进行训练,使读者了解不同问题需要采用什么方法来解决。见多才能识广,才能培养联想能力,提高分析问题和解决问题的能力。 (3)只有看得见、读得懂、做得到,才能想得深。与单纯的文字相比,图片更能让人记得住,提高学习效率。(4)采取一种针对问题的交谈式风格来组织内容。研究表明,如果学习过程中采用*一人称的交谈方式向读者讲述有关内容,那么读者的学习效率会大幅提高。(5)代码例子尽可能短小精悍。要学习编程,没有别的方法,只能通过编写大量代码来实现。(6)以数据为核心,围绕处理逻辑协同、示例驱动的教学内容展开。本书与其他教材的不同在于一开始就引入一切皆对象的思想,使用面向对象的观点讨论数据,将数据作为核心来推动课程内容的演变。
1