机器学习已逐步成熟。利用H2O软件,可以通过一个简单、易用的开源框架来进行机器学习和数据分析,该软件可支持广泛的操作系统和语言以及大数据规模。本书主要讲授如何使用H2O的学习算法,着重介绍了其中有用的部分以快速获得高效的结果。
如果已熟悉R或Python、了解一些统计知识,并具有一些数据处理的经验,作者Darren Cook将首先介绍H2O的基础知识,然后在不同示例数据集上进行机器学习实践。在此将会学习一些目前常用的机器学习技术,如深度学习、随机森林、无监督式学习和集成学习。
学习如何利用H2O导入、处理和导出数据;
分析机器学习的关键概念,如交叉验证和验证数据集;
应用于包括回归、多项式分类和二项式分类在内的三种不同数据集;
利用H2O通过四种监督式机器学习算法来分析每一个样本数据集;
理解聚类分析和其他无监督式机器学习算法是如何工作的。
《基于H2O的机器学习实用方法:一种强大的可扩展的人工智能和深度学习技术》主要介绍了H2O的基本概念和应用。全书共11章,首先介绍了H2O在R和Python下的安装和启动、数据导入/导出和操作以及本书所用的三种不同示例数据集和常用的模型参数。然后分别介绍了随机森林、梯度推进机、线性模型、深度学习和无监督式学习等算法在三种不同数据集中的应用,分析对比了默认算法和改进算法的性能。另外,还讨论了相关其他内容。
译者序
原书前言
第 1章 安装和快速启动 \\ 1
1.1 安装准备 \\ 1
1.1.1 安装 R \\ 1
1.1.2 安装 Python \\ 2
1.1.3 隐私保护 \\ 2
1.1.4 安装 Java \\ 2
1.2 利用 R(CRAN)安装 H2O \\ 3
1.3 利用 Python(pip)安装 H2O \\ 4
1.4 第一个学习示例 \\ 5
1.4.1 利用 Python进行训练和预测 \\ 8
1.4.2 利用 R进行训练和预测 \\ 10
1.4.3 性能与预测 \\ 12
1.4.4 运气不佳 \\ 13
1.5 Flow \\ 13
1.5.1 数据 \\ 14
1.5.2 模型 \\ 16
1.5.3 预测 \\ 17
1.5.4 Flow中的其他注意事项 \\ 18
1.6 小结 \\ 18
第2章 数据导入/数据导出\\19
2.1 存储空间要求 \\ 19
2.2 数据准备 \\ 20
2.3 数据导入到 H2O \\ 21
2.3.1 加载 csv文件 \\ 21
2.3.2 加载其他格式文件 \\ 23
2.3.3 从 R中直接加载 \\ 23
2.3.4 从 Python中直接加载 \\ 25
2.4 数据操作 \\ 26
2.4.1 懒操作、命名和删除 \\ 26
2.4.2 数据汇总 \\ 27
2.4.3 列操作 \\ 28
2.4.4 行聚合 \\ 29
2.4.5 索引 \\ 30
2.4.6 H2O中的数据拆分 \\ 31
2.4.7 行和列 \\ 35
2.5 数据从 H2O中导出 \\ 38
2.5.1 导出数据帧 \\ 38
2.5.2 POJO \\ 39
2.5.3 模型文件 \\ 40
2.5.4 保存所有模型 \\ 40
2.6 小结 \\ 41
第3章 数据集 \\ 42
3.1 数据集:建筑节能 \\ 42
3.1.1 设置和加载 \\ 43
3.1.2 数据列 \\ 44
3.1.3 拆分数据 \\ 45
3.1.4 观察 \\ 46
3.1.5 关于数据集 \\ 50
3.2 数据集:手写体 \\ 50
3.2.1 设置和加载 \\ 51
3.2.2 观察 \\ 52
3.2.3 帮助建模 \\ 54
3.2.4 关于数据集 \\ 55 5.4 建筑节能:默认的随机森林 \\ 91
3.3 数据集:足球比分 \\ 56
3.3.1 相关性 \\ 59
3.3.2 缺失数据.更多列 \\ 62
3.3.3 如何训练和测试? \\ 63
3.3.4 设置和加载 \\ 63
3.3.5 其他第三方 \\ 64
3.3.6 缺失数据(再次)\\ 67
3.3.7 设置和加载(再次)\\ 67
3.3.8 关于数据集 \\ 70
3.4 小结 \\ 70
第 4章 常用模型参数 \\ 71
4.1 支持测度 \\ 71
4.1.1 回归指数 \\ 72
4.1.2 分类指数 \\ 72
4.1.3 二项式分类 \\ 73
4.2 要素 \\ 75
4.3 努力 \\ 76
4.4 评分和验证 \\ 76
4.5 提前终止 \\ 77
4.6 检查点 \\ 79
4.7 交叉验证(又名 k-folds)\\ 81
4.8 数据加权 \\ 82
4.9 抽样、归纳 \\ 84
4.10 回归 \\ 85
4.11 输出控制 \\ 87
4.12 小结 \\ 87
第5章 随机森林\\88
5.1 决策树 \\ 88
5.2 随机森林 \\ 89
5.3 参数 \\ 89 5.5 网格搜索 \\ 93
5.5.1 笛卡尔 \\ 94
5.5.2 随机离散 \\ 96
5.5.3 高层策略 \\ 98
5.6 建筑节能:改进的随机森林 \\ 99
5.7 MNIST:默认的随机森林 \\ 101
5.8 MNIST:改进的随机森林 \\ 102
5.8.1 增强数据 \\ 105
5.9 足球比赛:默认的随机森林 \\ 106
5.10 足球比赛:改进的随机森林 \\ 108
5.11 小结 \\ 110
第 6章 梯度推进机 // 111
6.1 推进 // 111
6.2 好处、坏处和…神秘之处 // 112
6.3 参数 // 113
6.4 建筑节能:默认 GBM // 114
6.5 建筑节能:改进 GBM // 115
6.6 MNIST:默认 GBM // 119
6.7 MNIST:改进 GBM // 120
6.8 足球比赛:默认 GBM // 122
6.9 足球比赛:改进 GBM // 123
6.10 小结 // 125
第 7章 线性模型 // 126
7.1 GLM参数 // 126
7.2 建筑节能:默认 GLM // 130
7.3 建筑节能:改进 GLM // 132
7.4 MNIST:默认 GLM // 136
7.5 MNIST:改进 GLM // 137
7.6 足球比赛:默认 GLM // 139
7.7 足球比赛:改进 GLM // 141
7.8 小结 // 142
第 8章 深度学习(神经网络)// 143
8.1 什么是神经网络? // 143
8.1.1 数值与分类 // 145
8.1.2 神经网络层 // 146
8.1.3 激活函数 // 147
8.2 参数 // 148
8.2.1 深度学习正则化 // 148
8.2.2 深度学习评分 // 149
8.3 建筑节能:默认的深度学习 // 152
8.4 建筑节能:改进的深度学习 // 153
8.5 MNIST:默认的深度学习 // 157
8.6 MNIST:改进的深度学习 // 159
8.7 足球比赛:默认的深度学习 // 163
8.8 足球比赛:改进的深度学习 // 164
8.9 小结 // 168
8.10 附录:更多的深度学习参数 // 169
第 9章 无监督学习 // 171
9.1 k均值聚类 // 172
9.2 深度学习自动编码器 // 174
9.2.1 层叠自动编码器 // 177
9.3 主成分分析 // 178
9.4 GLRM // 179
9.5 缺失数据 // 180
9.5.1 GLRM // 183
9.5.2 失去 R // 183
9.6 小结 // 187
第 10章 其他内容 // 188
10.1 重要且需要分析的内容 // 188
10.2 安装最新版本的 H2O // 188
10.2.1 由源代码构建 // 189
10.3 命令行运行 // 189
10.4 聚类 // 189
10.4.1 EC2 // 190
10.4.2 其他云提供商 // 191
10.4.3 Hadoop // 191
10.5 Spark/Sparkling Water // 191
10.6 朴素贝叶斯 // 192
10.7 集成 // 192
10.7.1 层叠: h2o.ensemble // 193
10.7.2 分类集成 // 195
10.8 小结 // 195
第 11章 后记:一切运行良好! // 196
11.1 建筑节能结果 // 196
11.2 MNIST结果 // 197
11.3 足球比赛结果 // 199
11.4 究竟有多差? // 200
11.4.1 越多越好 // 201
11.4.2 仍渴望更多 // 202
11.4.3 困难排除 // 202
11.4.4 自动编码器 // 203
11.4.5 卷积和收缩 // 204
11.4.6 集成 // 205
11.4.7 这就是可能最差的情况. // 206
11.5 小结 // 206