本书内容涵盖数据科学基础知识,介绍了数据科学的工作流程,包括数据采集、数据整理和探索、数据可视化和数据建模预测等技术,并通过文本、图像、语音等前沿应用,引入人工智能技术在数据科学领域应用的新成果。全书设计收集了多个数据分析案例,采用Python及相关科学计算工具包介绍数据分析实现的方法,帮助读者通过实际应用理解数据科学知识,掌握实践技能,运用统计学、人工智能等技术解决实际问题。本书通俗易懂、实例丰富、技术先进,配备丰富的教学资源,可作为各类大专院校数据科学、大数据技术的入门教材,计算机基础教学较高层次课程的教材,也可以作为数据科学实践的技术参考书。
更多科学出版社服务,请扫码获取。
中国质量协会学术教育工作委员会委员、天津市工业工程学会副理事长、天津市现场统计研究会理事
目录
前言
第1章 数据科学概论1
1.1 数据与大数据1
1.1.1 数据、信息和知识1
1.1.2 大数据3
1.2 数据科学及其工作流程概述4
1.2.1 数据科学概述4
1.2.2 数据科学工作流程4
习题6
第2章 Python基础7
2.1 Python概述7
2.1.1 计算机语言概述7
2.1.2 Python语言简介8
2.1.3 Python解释器及开发环境的安装9
2.2 Python基础12
2.2.1 Python基础语法12
2.2.2 Python复杂数据类型13
2.2.3 Python运算符19
2.2.4 Python控制语句20
2.3 函数和类的定义27
2.3.1 Python函数的定义和调用27
2.3.2 Python与面向对象编程30
2.4 Python包31
2.4.1 Python包的结构和导入31
2.4.2 Python常用包简介33
习题33
第3章 Python常用模块35
3.1 numpy与矩阵运算35
3.1.1 numpy多维数组基础35
3.1.2 数组索引39
3.1.3 数组运算40
3.1.4 numpy简单统计函数41
3.2 基于pandas的数据操纵与管理42
3.2.1 pandas基础43
3.2.2 DataFrame的切片和计算45
3.2.3 DataFrame数据运算48
3.2.4 数据的合并54
3.3 基于matplotlib和seaborn的数据可视化57
3.3.1 matplotlib数据可视化概述57
3.3.2 matplotlib数据可视化示例60
3.3.3 seaborn数据可视化67
3.4 基于sympy的符号计算74
3.4.1 sympy基础74
3.4.2 表达式操作75
3.4.3 积分与微分78
3.4.4 sympy方程求解81
3.4.5 sympy与函数可视化82
3.5 基于scipy的科学计算83
3.5.1 scipy线性代数84
3.5.2 数值积分86
3.5.3 插值87
习题91
第4章 基于Python的最优化92
4.1 最优化问题的形式化定义与分类92
4.2 基于scipy的函数优化93
4.2.1 无约束最优化93
4.2.2 约束最优化98
4.2.3 其他最优化算法101
4.3 基于cvxpy的凸优化建模与求解103
4.3.1 凸优化的基本概念104
4.3.2 cvxpy及凸优化问题求解106
4.3.3 凸优化问题实例116
4.4 基于gurobipy的数学规划建模与求解134
4.4.1 Gurobi简介134
4.4.2 基于gurobipy求解数学规划的步骤135
4.4.3 gurobipy建模与求解实例138
4.4.4 gurobipy中的常用问题转换技巧145
习题147
第5章 基于Python的统计分析148
5.1 scipy与统计分布148
5.1.1 基于scipy的基本统计分布148
5.1.2 主要离散分布简介149
5.1.3 主要连续分布简介153
5.1.4 抽样分布158
5.1.5 基本统计分析160
5.2 基于Python的分布参数估计163
5.2.1 参数的点估计164
5.2.2 参数的区间估计165
5.2.3 存在截尾数据的韦布尔分布参数估计实例167
5.3 假设检验169
5.3.1 假设检验的基本概念169
5.3.2 scipy中的假设检验170
5.4 基于Python的统计模型174
5.4.1 线性回归174
5.4.2 广义线性模型179
5.4.3 广义估计方程181
5.4.4 广义加性模型182
5.4.5 基于表达式的模型定义184
习题186
第6章 基于Python的机器学习187
6.1 机器学习概述187
6.1.1 机器学习及相关概念187
6.1.2 机器学习的结构189
6.1.3 基于Python的机器学习192
6.1.4 sklearn基础192
6.2 监督学习模型199
6.2.1 分类模型199
6.2.2 回归模型217
6.2.3 集成方法223
6.3 非监督学习算法229
6.3.1 聚类229
6.3.2 高斯混合模型234
6.3.3 流形学习235
6.3.4 信号成分分解237
6.3.5 异常检测239
6.4 机器学习模型选择和评估242
6.4.1 模型选择与评估242
6.4.2 超参数设置247
6.4.3 特征选择250
6.4.4 模型的保存和读取252
习题253
第7章 基于PyTorch的神经网络254
7.1 神经网络254
7.1.1 神经网络基本原理254
7.1.2 激活函数255
7.1.3 神经网络训练过程256
7.2 基于PyTorch的神经网络建模257
7.2.1 Torch简介258
7.2.2 变量和自动求导机制autograd259
7.3 PyTorch神经网络建模262
7.4 基于PyTorch的神经网络示例267
7.4.1 回归问题267
7.4.2 分类问题268
7.4.3 多项式拟合问题269
习题271
第8章 网络文本数据分析与实践272
8.1 网络文本数据分析概述272
8.1.1 网络数据分析的基本流程272
8.1.2 网络数据分析主要应用场景273
8.1.3 网络数据分析典型案例273
8.2 Web应用构成要素及工作流程275
8.2.1 网页构成要素276
8.2.2 Web访问请求和响应过程277
8.2.3 静态网页和动态网页280
8.2.4 审查网页元素282
8.3 基于Python的网络数据获取283
8.3.1 User-Agent283
8.3.2 基于urllib的网络数据获取284
8.3.3 基于requests包的网络数据获取287
8.4 网络数据解析289
8.4.1 正则表达式289
8.4.2 基于lxml的信息提取291
8.4.3 Beautiful Soup293
8.5 文本处理298
8.5.1 数据预处理298
8.5.2 中文分词300
8.5.3 去除停用词301
8.5.4 关键词分析302
8.6 文本数据建模与分析306
8.6.1 文本主题模型306
8.6.2 情感分析模型309
习题311
参考文献312