第 1章 数据科学概述\t1
1.1 什么是数据科学 1
1.2 如何学习数据科学 2
1.3 什么是数据科学家 2
1.4 数据科学家需要掌握的技能 3
1.5 Python与数据科学 3
1.6 数据科学领域常用的Python包 4
1.7 时代宠儿—深度学习 6
习题 6
第 2章 Python基础知识 7
2.1 Python介绍 7
2.1.1 Jupyter Notebook的简介及使用 8
2.1.2 Python基础概念 10
2.1.3输入和输出 14
2.1.4运算符 15
2.2 常见数据结构和基本语句 17
2.2.1序列 17
2.2.2字典 23
2.2.3集合 27
2.2.4基本语句 29
2.3 函数和模块 32
2.3.1函数 32
2.3.2模块 38
2.4 异常处理 43
2.4.1什么是异常 43
2.4.2常见异常错误 43
2.4.3捕捉异常 44
2.4.4触发异常 45
2.5 文件读写 45
2.5.1编码 45
2.5.2读取文本文件 46
2.5.3 Word文件与Excel文件读取 51
2.6 Pythonic 51
2.6.1解析式 52
2.6.2三元表达式 53
2.6.3花样传参:zip与星号操作 54
本章小结 56
习题 56
第3章 Python数据科学常用库 58
3.1 Python数据分析概述 58
3.2 Numpy数值计算 59
3.2.1 Numpy基础简介 59
3.2.2 Numpy基础用法简介 60
3.2.3 Numpy数据分析常用函数简介 73
3.3 Pandas基础知识 76
3.3.1 Series介绍及其基本操作 76
3.3.2 DataFrame介绍及其基本操作 79
3.4 Pandas数据预处理 82
3.4.1数据合并 82
3.4.2 数据清洗 86
3.4.3 数据标准化 88
3.4.4 数据转换 89
3.5 Pandas数据分析基础 92
3.5.1 分层索引 92
3.5.2 Pandas常用函数介绍 97
3.5.3 分组 98
3.5.4 整形和旋转 100
3.5.5 数据透视表和交叉表 104
3.6 Matplotlib数据可视化 108
3.6.1 Matplotlib简介 108
3.6.2 Matplotlib绘图基础简介 109
3.6.3 常用统计图绘制简介 113
本章小结 116
习题 116
第4章 Python数据获取 118
4.1 数据及其类型 119
4.1.1 属性与属性类型 119
4.1.2 数据类型 120
4.1.3 数据集的类型 121
4.2 数据获取方法 124
4.2.1 从文件中获取数据 124
4.2.2 从数据库中获取数据 130
4.2.3 从网络接口获取数据 133
4.2.4 从网页抓取数据 135
4.3 网络爬虫 135
4.3.1 爬虫简介及爬虫流程 135
4.3.2 发起请求 136
4.3.3 获取响应内容 138
4.3.4 解析内容 139
4.3.5 Selenium 144
本章小结 147
习题 147
第5章 Python数据分析 149
5.1数据分析基础 150
5.1.1 对比分析 151
5.1.2 分组分析 152
5.1.3 结构分析 153
5.1.4 分布分析 153
5.1.5 交叉分析 155
5.2 描述性统计分析 156
5.2.1 数据集中趋势分析 156
5.2.2 数据的离散程度分析 157
5.2.3 数据的分布形态分析 159
5.2.4 相关分析 160
5.2.5 基于Seaborn的数据可视化分析 161
5.3 主成分分析 164
5.3.1 主成分分析原理介绍 164
5.3.2 主成分分析基本流程 165
5.3.3 Python实现主成分分析 166
5.4 回归分析 171
5.4.1 简单线性回归分析 172
5.4.2 多元线性回归分析 177
本章小结 181
习题 181
第6章 Python数据挖掘 183
6.1 Python数据挖掘概述 183
6.1.1 数据挖掘分类及常用方法 184
6.1.2 使用Scikit-learn构建数据挖掘模型 186
6.2 分类预测:决策树算法 193
6.2.1 分类算法概述 193
6.2.2 决策树算法 194
6.2.3 决策树分枝 195
6.2.4 决策树剪枝 198
6.2.5 分类算法评估 199
6.2.6 决策树的Python实现 200
6.3朴素贝叶斯(Naive Bayesian) 202
6.3.1 贝叶斯简介 202
6.3.2 构建朴素贝叶斯模型 203
6.3.3 朴素贝叶斯的Python实现 204
6.4 人工神经网络 205
6.4.1 人工神经网络简介 205
6.4.2 神经元与激活函数 207
6.4.3 前馈神经网络 211
6.4.4 反向传播机制 212
6.4.5 神经网络的Python实现 215
6.5集成学习 220
6.5.1 集成学习简介 220
6.5.2 装袋法的代表——随机森林 223
6.5.3 boosting的代表——xgboost 230
6.6 关联分析(Association analysis) 232
6.6.1 关联分析概述 232
6.6.2 Apriori算法 235
6.6.3 FP-Growth算法 238
6.6.4 关联规则的Python实现 239
6.7 聚类分析 242
6.7.1 聚类分析概述 242
6.7.2 常用聚类算法 243
6.7.3 聚类算法Python实现 249
本章小结 252
习题 252
第7章 文本挖掘 254
7.1 文本挖掘概述 254
7.1.1 文本挖掘的定义 254
7.1.2 Python中的文本挖掘包 255
7.1.3 文本挖掘的过程 255
7.1.4 文本挖掘的应用 256
7.2 Python文本特征提取 256
7.2.1 中文分词与词云 256
7.2.2 特征词量化与文本特征提取 260
7.2.3 文本表示 262
7.3文本分类 268
7.3.1 文本分类概述 268
7.3.2文本分类的Python实现 269
7.4文本情感分析 271
7.4.1 情感分析概述 271
7.4.2 情感分析的具体应用及示例 273
7.5 LDA主题模型 275
7.5.1主题模型简介 276
7.5.2主题模型在文本语义挖掘的应用 280
本章小结 282
习题 283
第8章 深度学习基础 284
8.1 深度学习概述 284
8.1.1机器学习与深度学习 284
8.1.2 深度学习的发展 285
8.1.3 深度学习框架 286
8.2 PyTorch介绍与安装 287
8.2.1 PyTorch介绍 287
8.2.2 PyTorch安装 287
8.3 PyTorch基础 288
8.3.1 Tensor张量 288
8.3.2 Variable变量 289
8.3.3 优化器 290
8.3.4 PyTorch与Numpy 290
8.4 卷积神经网络 292
8.4.1卷积神经网络简介 292
8.4.2 二维卷积运算的运算基础 293
8.4.3 二维卷积运算的填充与步长 295
8.4.4 三维卷积运算 296
8.4.5 其他卷积神经网络组件 298
8.5 循环神经网络 301
8.5.1 RNN的结构 301
8.5.2 RNN存在的问题 304
8.5.3 LSTM 304
8.5.4 GRU 305
8.6 CNN与RNN的PyTorch实现 306
8.6.1 卷积层 306
8.6.2 池化层 307
8.6.3 全连接层 308
8.6.4 RNN 308
8.6.5 LSTM 309
8.6.6 GRU 310
本章小结 310
习题 310
第9章 深度学习应用 313
9.1 图片分类与迁移学习 313
9.1.1 迁移学习与传统模型 313
9.1.2 图片分类的经典案例 315
9.1.3 PyTorch实现DenseNet 317
9.2 命名实体识别 321
9.2.1 命名实体识别基础 321
9.2.2 PyTorch实现命名实体识别 325
本章小结 330
习题 331
参考文献 332