第一部分 入 门 篇
第1 章 机器学习概述Q … … … 2
1.1 人工智能简介 Q … … 3
1.1.1 什么是人工智能 Q … 3
1.1.2 人工智能史上的三次浪潮 … Q
1.1.3 人工智能的研究领域Q … … … 7
1.2 机器学习的主要工作 Q … … 16
1.3 机器学习开发环境 Q … … 18
习题1 Q … … … … … … … 24
第2 章 Python 数据处理基础 Q … … 25
2.1 Python 程序开发技术 Q … 25
2.2 基本数据类型 Q … 27
2.3 数据文件读写 Q … … 35
2.3.1 打开与关闭文件 … … … Q5
2.3.2 读取文件内容 Q … … 36
2.3.3 将数据写入文件 Q … 37
2.3.4 Pandas 存取文件 … … … Q8
2.3.5 NumPy 存取文件 Q 40
习题2 Q … … … … … … … 41
第二部分 基 础 篇
第3 章 Python 常用机器学习库 Q … 44
3.1 NumPy Q … … … … 44
3.1.1 ndarray 对象 Q … 45
3.1.2 NumPy 数据类型 Q 46
3.1.3 NumPy 数组属性 Q 50
3.1.4 其他创建数组的方式Q … … … 52
3.1.5 切片、 迭代和索引Q … … … 56
3.1.6 NumPy 计算 Q … … 59
3.2 Pandas Q … … … … 61
3.2.1 Series 数据结构 Q … 61Ⅳ
3.2.2 DataFrame 对象Q … … … 64
3.2.3 数据对齐 Q … 72
3.3 Matplotlib Q … … 75
3.4 OpenCV Q … … … 88
3.5 Scikit-learn Q … … … 93
3.5.1 SKlearn 简介 Q … … 93
3.5.2 SKlearn 的一般步骤Q … … … 94
3.6 其他常用模块 Q … … 96
3.6.1 WordCloud 制作词云Q … … 96
3.6.2 jieba 中文分词 Q … 98
3.6.3 PIL Q … … 102
习题3 Q … … … … … … … 109
第4 章 机器学习基础Q … … 110
4.1 机器学习模型 Q … 111
4.1.1 线性模型与非线性模型Q … 111
4.1.2 浅层模型与深度模型Q … … 111
4.1.3 单一模型与集成模型Q … … 112
4.1.4 监督学习、 非监督学习和强化学习 Q … 112
4.2 机器学习算法的选择 Q … 116
4.2.1 模型的确定 Q … 117
4.2.2 性能评估 Q … … 123
4.3 Python 机器学习利器SKlearnQ … 125
4.3.1 SKlearn 数据预处理Q … … 125
4.3.2 SKlearn 模型选择与算法评价 Q … … 128
习题4 Q … … … … … … … 130
第三部分 实 战 篇
第5 章 KNN 分类算法 Q … 132
5.1 KNN 分类 Q … … 132
5.2 初识 KNN———鸢尾花分类Q … … 135
5.3 KNN 手写数字识别 Q … 140
实验Q … … … … … … … … 143
习题5 Q … … … … … … … 145
第6 章 K-Means 聚类算法Q 146
6.1 K-Means 聚类算法概述 Q 146
6.1.1 聚类 Q … … 147
6.1.2 K-Means 聚类 Q 147
6.1.3 聚类算法的性能评估Q … 148
6.2 使用 K-Means 实现数据聚类Q … … 149Ⅴ
6.2.1 使用SKlearn 实现 K-Means 聚类 Q 149
6.2.2 使用 Python 实现 K-Means 聚类 Q 152
6.3 K-Means 算法存在的问题Q … … 154
6.3.1 K-Means 算法的不足Q … … 154
6.3.2 科学确定k 值 Q … 156
6.3.3 使用后处理提高聚类效果Q 157
实验Q … … … … … … … … 157
习题6 Q … … … … … … … 164
第7 章 推荐算法Q … … … … 165
7.1 推荐系统 Q … … … 165
7.1.1 推荐算法概述 Q … 166
7.1.2 推荐系统的评价指标Q … … 168
7.1.3 推荐系统面临的挑战Q … … 170
7.1.4 常见的推荐算法 Q 171
7.2 协同过滤推荐算法 Q … 171
7.2.1 基于用户的协同过滤算法Q 171
7.2.2 基于内容的推荐算法Q … … 176
7.2.3 基于图结构的推荐算法Q … 178
7.2.4 其他推荐算法 Q … 178
7.3 基于内容的推荐算法案例Q … … … 179
7.4 协同过滤算法实现电影推荐Q … 181
实验Q … … … … … … … … 188
习题7 Q … … … … … … … 188
第8 章 回归算法Q … … … … 189
8.1 线性回归 Q … … … 190
8.1.1 一元线性回归 Q 190
8.1.2 多元线性回归 Q 193
8.2 逻辑回归 Q … … … 194
8.2.1 线性回归存在的问题Q … … 195
8.2.2 逻辑函数SigmoidQ … … … 196
8.2.3 逻辑回归的概念Q … … … 197
8.2.4 线性回归与逻辑回归的区别 Q … … … 198
8.2.5 逻辑回归参数的确定Q … 198
8.3 回归分析综合案例 Q … … 201
8.3.1 信用卡逾期情况预测案例 Q … … … 201
8.3.2 使用逻辑回归实现鸢尾花分类预测案例 … … … … … … … … … … … 204
实验Q … … … … … … … … 206
习题1 Q … … … … … … … 209Ⅵ
第9 章 支持向量机Q … … … 210
9.1 支持向量机的概念 Q … … 210
9.1.1 线性判别分析 Q … 211
9.1.2 间隔与支持向量 Q 212
9.1.3 超平面 Q … 213
9.1.4 感知器 Q … 214
9.2 支持向量机的参数 Q … 219
9.2.1 优化求解 Q 219
9.2.2 核函数 Q … 220
9.2.3 SVM 应用案例Q … … … 220
实验Q … … … … … … … … 224
习题1 Q … … … … … … … 230
第10 章 神经网络 Q … … … 231
10.1 神经网络的基本原理 Q … 231
10.1.1 人工神经网络 Q 231
10.1.2 神经网络结构 Q 233
10.2 多层神经网络 Q … 234
10.2.1 多隐藏层 Q … … 234
10.2.2 激活函数 Q … … 236
10.3 BP 神经网络 Q 238
实验Q … … … … … … … … 245
习题10 Q … … … … … … 249
第11 章 深度学习 Q … … … 250
11.1 深度学习概述 Q … 251
11.1.1 深度学习的产生Q … … … 251
11.1.2 深度学习的发展Q … … … 253
11.2 卷积神经网络 Q … 254
11.2.1 卷积神经网络的神经科学基础 Q … 254
11.2.2 卷积操作 Q … 254
11.2.3 池化操作 Q … … 257
11.2.4 卷积神经网络的激活函数 Q … … … 259
11.2.5 卷积神经网络模型Q … … 259
11.3 循环神经网络 Q … 264
11.4 常见的深度学习开源框架和平台Q 265
11.5 TensorFlow 学习框架Q … … … 266
11.6 Keras 深度学习框架 Q … 274
11.6.1 Keras 基础 Q … 274
11.6.2 Keras 综合实例Q … … … 274
习题11 Q … … … … … … 280