Python机器学习
作者:李伟梦 著 李周芳 译
出版时间: 2020年版
内容简介
《Python机器学习》面向机器学习新手,主要内容如下: ● Python机器学习的一些基本库,包括NumPy、Pandas和matplotlib库 ● 常见的机器学习算法,包括回归、聚类、分类和异常检测 ● 使用Python和Scikit-learn库进行机器学习 ● 将机器学习模型部署为Web服务 ● 使用Microsoft Azure Machine Learning Studio进行机器学习 ● 演习机器学习模型构建方案的实例
目录
第1章 机器学习简介 1
1.1 什么是机器学习? 2
1.1.1 在本书中机器学习将解决什么问题? 3
1.1.2 机器学习算法的类型 4
1.2 可得到的工具 7
1.2.1 获取Anaconda 8
1.2.2 安装Anaconda 8
1.3 本章小结 17
第2章 使用NumPy扩展Python 19
2.1 NumPy是什么? 19
2.2 创建NumPy数组 20
2.3 数组索引 22
2.3.1 布尔索引 22
2.3.2 切片数组 23
2.3.3 NumPy切片是一个引用 25
2.4 重塑数组 26
2.5 数组数学 27
2.5.1 点积 29
2.5.2 矩阵 30
2.5.3 累积和 31
2.5.4 NumPy排序 32
2.6 数组赋值 34
2.6.1 通过引用复制 34
2.6.2 按视图复制(浅复制) 35
2.6.3 按值复制(深度复制) 37
2.7 本章小结 37
第3章 使用Pandas处理表格数据 39
3.1 Pandas是什么? 39
3.2 Pandas Series 40
3.2.1 使用指定索引创建Series 41
3.2.2 访问Series中的元素 41
3.2.3 指定Datetime范围作为Series的索引 42
3.2.4 日期范围 43
3.3 Pandas DataFrame 44
3.3.1 创建DataFrame 45
3.3.2 在DataFrame中指定索引 46
3.3.3 生成DataFrame的描述性统计信息 47
3.3.4 从DataFrame中提取 48
3.3.5 选择DataFrame中的单个单元格 54
3.3.6 基于单元格值进行选择 54
3.3.7 转置DataFrame 54
3.3.8 检查结果是DataFrame还是Series 55
3.3.9 在DataFrame中排序数据 55
3.3.10 将函数应用于DataFrame 57
3.3.11 在DataFrame中添加和删除行和列 60
3.3.12 生成交叉表 63
3.4 本章小结 64
第4章 使用matplotlib显示数据 67
4.1 什么是matplotlib? 67
4.2 绘制折线图 67
4.2.1 添加标题和标签 69
4.2.2 样式 69
4.2.3 在同一图表中绘制多条线 71
4.2.4 添加图例 72
4.3 绘制柱状图 73
4.3.1 在图表中添加另一个柱状图 74
4.3.2 更改刻度标签 76
4.4 绘制饼图 77
4.4.1 分解各部分 79
4.4.2 显示自定义颜色 79
4.4.3 旋转饼状图 80
4.4.4 显示图例 81
4.4.5 保存图表 83
4.5 绘制散点图 83
4.5.1 合并图形 84
4.5.2 子图 85
4.6 使用Seaborn绘图 86
4.6.1 显示分类图 87
4.6.2 显示lmplot 89
4.6.3 显示swarmplot 90
4.7 本章小结 92
第5章 使用Scikit-learn开始机器学习 93
5.1 Scikit-learn简介 93
5.2 获取数据集 93
5.2.1 使用Scikit-learn数据集 94
5.2.2 使用Kaggle数据集 97
5.2.3 使用UCI机器学习存储库 97
5.2.4 生成自己的数据集 97
5.3 Scikit-learn入门 100
5.3.1 使用LinearRegression类对模型进行拟合 101
5.3.2 进行预测 101
5.3.3 绘制线性回归线 102
5.3.4 得到线性回归线的斜率和截距 103
5.3.5 通过计算残差平方和检验模型的性能 104
5.3.6 使用测试数据集评估模型 105
5.3.7 持久化模型 106
5.4 数据清理 108
5.4.1 使用NaN清理行 108
5.4.2 删除重复的行 110
5.4.3 规范化列 112
5.4.4 去除异常值 113
5.5 本章小结 117
第6章 有监督的学习——线性回归 119
6.1 线性回归的类型 119
6.2 线性回归 120
6.2.1 使用Boston数据集 120
6.2.2 数据清理 125
6.2.3 特征选择 126
6.2.4 多元回归 129
6.2.5 训练模型 131
6.2.6 获得截距和系数 133
6.2.7 绘制三维超平面 134
6.3 多项式回归 136
6.3.1 多项式回归公式 138
6.3.2 Scikit-learn中的多项式回归 138
6.3.3 理解偏差和方差 142
6.3.4 对Boston数据集使用多项式多元回归 145
6.3.5 绘制三维超平面 146
6.4 本章小结 149
第7章 有监督的学习——使用逻辑回归进行分类 151
7.1 什么是逻辑回归? 151
7.1.1 理解概率 153
7.1.2 logit函数 153
7.1.3 sigmoid曲线 155
7.2 使用威斯康星乳腺癌诊断数据集 156
7.2.1 检查特征之间的关系 157
7.2.2 使用一个特征训练 161
7.2.3 使用所有特性训练模型 164
7.3 本章小结 174
第8章 有监督的学习——使用支持向量机分类 175
8.1 什么是支持向量机? 175
8.1.1 最大的可分性 176
8.1.2 支持向量 177
8.1.3 超平面的公式 178
8.1.4 为SVM使用Scikit-learn 179
8.1.5 绘制超平面和边距 182
8.1.6 进行预测 183
8.2 内核的技巧 184
8.2.1 添加第三个维度 185
8.2.2 绘制三维超平面 187
8.3 内核的类型 189
8.3.1 C 193
8.3.2 径向基函数(RBF)内核 195
8.3.3 gamma 196
8.3.4 多项式内核 198
8.4 使用SVM解决实际问题 199
8.5 本章小结 202
第9章 有监督的学习——使用k-近邻(kNN)分类 203
9.1 k-近邻是什么? 203
9.1.1 用Python实现kNN 204
9.1.2 为kNN使用Scikit-learn的KNeighborsClassifier类 209
9.2 本章小结 218
第10章 无监督学习——使用k-means聚类 219
10.1 什么是无监督学习? 219
10.1.1 使用k-means的无监督学习 220
10.1.2 k-means中的聚类是如何工作的 220
10.1.3 在Python中实现k-means 223
10.1.4 在Scikit-learn中使用k-means 228
10.1.5 利用Silhouette系数评价聚类的大小 230
10.2 使用k-means解决现实问题 234
10.2.1 导入数据 234
10.2.2 清理数据 235
10.2.3 绘制散点图 236
10.2.4 使用k-means聚类 236
10.2.5 寻找最优尺寸类 238
10.3 本章小结 239
第11章 使用 Azure Machine Learning Studio 241
11.1 什么是Microsoft Azure Machine Learning Studio? 241
11.1.1 以泰坦尼克号实验为例 241
11.1.2 使用Microsoft Azure Machine Learning Studio 243
11.1.3 训练模型 254
11.1.4 将学习模型作为Web服务发布 258
11.2 本章小结 263
第12章 部署机器学习模型 265
12.1 部署ML 265
12.2 案例研究 266
12.2.1 加载数据 267
12.2.2 清理数据 267
12.2.3 检查特征之间的相关性 269
12.2.4 绘制特征之间的相关性 270
12.2.5 评估算法 273
12.2.6 训练并保存模型 275
12.3 部署模型 277
12.4 创建客户机应用程序来使用模型 279
12.5 本章小结 281