第一部分 初始
1 初识机器学习 2
1.1 学习机器学习的误区 2
1.2 什么是机器学习 3
1.3 Python 中的机器学习 3
1.4 学习机器学习的原则 5
1.5 学习机器学习的技巧 5
1.6 这本书不涵盖以下内容 6
1.7 代码说明 6
1.8 总结 6
2 Python 机器学习的生态圈 7
2.1 Python 7
2.2 SciPy 9
2.3 scikit-learn 9
2.4 环境安装 10
2.5 总结 12
3 第一个机器学习项目 13
3.1 机器学习中的 Hello World 项目 13
3.2 导入数据 14
3.3 概述数据 15
3.4 数据可视化 18
3.5 评估算法 20
3.6 实施预测 23
3.7 总结 24
4 Python 和 SciPy 速成 25
4.1 Python 速成 25
4.2 NumPy 速成 34
4.3 Matplotlib 速成 36
4.4 Pandas 速成 39
4.5 总结 41
第二部分 数据理解
5 数据导入 44
5.1 CSV 文件 44
5.2 Pima Indians 数据集 45
5.3 采用标准 Python 类库导入数据 46
5.4 采用 NumPy 导入数据 46
5.5 采用 Pandas 导入数据 47
5.6 总结 47
6 数据理解 48
6.1 简单地查看数据 48
6.2 数据的维度 49
6.3 数据属性和类型 50
6.4 描述性统计 50
6.5 数据分组分布(适用于分类算法) 51
6.6 数据属性的相关性 52
6.7 数据的分布分析 53
6.8 总结 54
7 数据可视化 55
7.1 单一图表 55
7.2 多重图表 58
7.3 总结 61
第三部分 数据准备
8 数据预处理 64
8.1 为什么需要数据预处理 64
8.2 格式化数据 65
8.3 调整数据尺度 65
8.4 正态化数据 67
8.5 标准化数据 68
8.6 二值数据 69
8.7 总结 70
9 数据特征选定 71
9.1 特征选定 72
9.2 单变量特征选定 72
9.3 递归特征消除 73
9.4 主要成分分析 75
9.5 特征重要性 76
9.6 总结 76
第四部分 选择模型
10 评估算法 78
10.1 评估算法的方法 78
10.2 分离训练数据集和评估数据集 79
10.3 K 折交叉验证分离 80
10.4 弃一交叉验证分离 81
10.5 重复随机分离评估数据集与训练数据集 82
10.6 总结 83
11 算法评估矩阵 85
11.1 算法评估矩阵 85
11.2 分类算法矩阵 86
11.3 回归算法矩阵 93
11.4 总结 96
12 审查分类算法 97
12.1 算法审查 97
12.2 算法概述 98
12.3 线性算法 98
12.4 非线性算法 101
12.5 总结 105
13 审查回归算法 106
13.1 算法概述 106
13.2 线性算法 107
13.3 非线性算法 111
13.4 总结 113
14 算法比较 115
14.1 选择最佳的机器学习算法 115
14.2 机器学习算法的比较 116
14.3 总结 118
15 自动流程 119
15.1 机器学习的自动流程 119
15.2 数据准备和生成模型的 Pipeline 120
15.3 特征选择和生成模型的 Pipeline 121
15.4 总结 122
第五部分 优化模型
16 集成算法 124
16.1 集成的方法 124
16.2 装袋算法 125
16.3 提升算法 129
16.4 投票算法 131
16.5 总结 132
17 算法调参 133
17.1 机器学习算法调参 133
17.2 网格搜索优化参数 134
17.3 随机搜索优化参数 135
17.4 总结 136
第六部分 结果部署
18 持久化加载模型 138
18.1 通过 pickle 序列化和反序列化机器学习的模型 138
18.2 通过 joblib 序列化和反序列化机器学习的模型 140
18.3 生成模型的技巧 141
18.4 总结 141
第七部分 项目实践
19 预测模型项目模板 144
19.1 在项目中实践机器学习 145
19.2 机器学习项目的 Python 模板 145
19.3 各步骤的详细说明 146
19.4 使用模板的小技巧 148
19.5 总结 149
20 回归项目实例 150
20.1 定义问题 150
20.2 导入数据 151
20.3 理解数据 152
20.4 数据可视化 155
20.5 分离评估数据集 159
20.6 评估算法 160
20.7 调参改善算法 164
20.8 集成算法 165
20.9 集成算法调参 167
20.10 确定最终模型 168
20.11 总结 169
21 二分类实例 170
21.1 问题定义 170
21.2 导入数据 171
21.3 分析数据 172
21.4 分离评估数据集 180
21.5 评估算法 180
21.6 算法调参 184
21.7 集成算法 187
21.8 确定最终模型 190
21.9 总结 190
22 文本分类实例 192
22.1 问题定义 192
22.2 导入数据 193
22.3 文本特征提取 195
22.4 评估算法 196
22.5 算法调参 198
22.6 集成算法 200
22.7 集成算法调参 201
22.8 确定最终模型 202
22.9 总结 203