第一部分Python开发实战 3
第一章 开发环境选择与比较 3
1.1 PyCharm介绍 3
1.2 Jupyter Notebook介绍 8
1.3 Sublime Text介绍 11
1.4 Visual Studio Code介绍 15
第二章Anaconda使用介绍 19
2.1 Anaconda介绍 19
2.2使用conda管理Python虚拟环境 21
第三章 开发规范与方法 30
3.1 PEP 8规范 30
3.2 Git介绍和使用 33
3.3敏捷思想与方法 39
第四章 单元测试与代码覆盖率 54
4.1测试驱动开发 54
4.2单元测试的概念和原则 55
4.3单元测试实例 56
第二部分Python编程技巧 67
第五章 列表生成式 67
5.1使用列表生成式代替循环语句 67
5.2列表生成式的概念 68
5.3字典和集合的生成式 70
5.4列表生成式实际例子 72
5.5速度比拼 74
第六章Collections库 77
6.1 namedtuple 77
6.2 deque 78
6.3 defaultdict 79
6.4 OrderedDict 80
6.5 Counter 81
第七章 迭代器 82
7.1可迭代对象Iterable 82
7.2迭代器Iterator 83
7.3Itertools模块 86
第八章 Python多线程与多进程浅析 95
8.1多线程引言 95
8.2线程 95
8.3 Python是解释性语言 95
8.4 Python线程切换机制 96
8.5 Python线程安全 97
8.6 Python多线程StepbyStep 99
8.7多进程方式 104
8.8基于I/O的多线程 106
8.9小结 111
第九章 Python程序性能分析初步 112
9.1编程语言和性能 112
9.2 Node.js和V8编译引擎 113
9.3为web服务而生的Go语言 122
9.4服务端性能指标 122
9.5用装饰器记录执行时间 123
9.6函数执行时间分析和cProfile 126
9.7分析每一行代码的执行时间 128
9.8内存占用分析 128
9.9图示化分析多线程的执行时间 131
9.10 CPU等性能测试 132
第三部分Python机器学习基础 137
第十章 机器学习基础 137
10.1什么是机器学习 137
10.2机器学习的五大流派 140
10.3 6种类型的机器学习算法 141
10.4机器学习项目基本流程 145
10.5机器学习语言 149
第十一章 主要算法概览 152
第十二章K近邻算法 154
12.1K近邻算法概述 154
12.2距离度量 154
12.3算法过程 157
12.4 KNN算法3个要素 157
12.5算法的优缺点 160
12.6示例Demo:使用K近邻分类 160
12.7小结 161
12.8扩展阅读 162
第十三章 主成分分析 164
13.1降维技术 164
13.2主成分分析概述 164
13.3算法过程 167
13.4算法的优缺点 168
13.5示例Demo:利用PCA进行图像压缩 168
13.6小结 171
13.7扩展阅读 171
第十四章 逻辑回归 172
14.1逻辑回归算法概述 172
14.2 Sigmoid函数、可能性比率与逻辑回归公式 172
14.3算法过程 174
14.4算法的优缺点 175
14.5示例Demo:使用逻辑回归进行二分类 175
14.6小结 176
14.7扩展阅读 176
第十五章 朴素贝叶斯分类器 177
15.1贝叶斯定理概述 177
15.2朴素贝叶斯分类器 179
15.3拉普拉斯修正与数值型特征的处理 180
15.4算法的优缺点 182
15.5示例Demo:使用朴素贝叶斯进行二分类 182
15.6小结 183
15.7扩展阅读 183
第十六章 决策树算法 185
16.1决策树算法概述 185
16.2 CART算法与基尼指数 186
16.3算法过程 189
16.4算法的优缺点 189
16.5示例Demo:使用CART分类 190
16.6小结 191
16.7扩展阅读 192
第十七章 支持向量机 193
17.1支持向量机概述 193
17.2从简单的二分类说起 193
17.3算法过程 195
17.4使用核函数解决线性不可分问题 195
17.5算法的优缺点 196
17.6示例Demo:使用支持向量机分类图片 197
17.7小结 199
17.8扩展阅读 199
第十八章 K -Means聚类 201
18.1聚类分析简介 201
18.2聚类算法的类型 201
18.3样本相似性的度量 203
18.4 K-Means聚类 204
18.5算法过程 204
18.6算法的优缺点 205
18.7示例Demo:使用K-Mean s聚类分析 205
18.8小结 207
18.9扩展阅读 208
第十九章 人工神经网络 209
19.1神经网络概述 209
19.2神经网络关键概念 209
19.3单层感知器和多层感知器 213
19.4算法过程 214
19.5算法的优缺点 216
19.6小结 216
19.7扩展阅读 216
19.8示例Demo:卷积神经网络识别手写数字图片 221
第二十章 如何选择合适的算法 227
20.1根据业务目标 227
20.2根据数据特点 227
20.3其他考虑因素 228
第二十一章Python机器学习工具 230
21.1NumPy 231
21.2 Pandas 233
21.3 Scikit-Learn 237
21.4 TensorFlow 238
21.5 Keras 241
21.6 PyTorch 243
第四部分Python机器学习实例 247
第二十二章 基于RFM的P2 P用户聚类模型 247
22.1背景与目标 247
22.2算法简介 248
22.3实现过程 248
22.4 实施与结果 254
22.5小结 258
第二十三章 文本的主题分类 259
23.1背景与目标 259
23.2算法简介 259
23.3实现过程 263
23.4小结 268
第二十四章 利用机器翻译实现自然语言查询 269
24.1背景与目标 269
24.2流程简介 269
24.3 TensorFlow框架下实现Seq2 Seq建模 273
24.4小结 279
第二十五章 身份证汉字和数字识别 280
25.1背景与目标 280
25.2身份证OCR识别流程 280
25.3文本行定位 281
25.4字符切割 285
25.5字符识别 285
25.6小结 290
第二十六章 人脸识别 291
26.1背景与目标 291
26.2基本概念 291
26.3人脸识别系统简介 292
26.4算法实现 293
26.5模型准确性评估 300
26.6 CentoS7下GPU的安装配置 301
26.7小结 306
索引 307