Scala机器学习:构建现实世界机器学习和深度学习项目

Scala机器学习:构建现实世界机器学习和深度学习项目
作 者: 雷祖尔·卡里姆 张世勇
出版社: 机械工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书作者Md. Rezaul Karim是德国弗劳恩霍夫应用信息技术研究所(FIT)的研究科学家,也是德国亚琛工业大学的博士。在加入FIT之前,他曾先后在韩国三星电子公司担任首席工程师,在爱尔兰国家大数据分析研究中心Insight担任研究员。他在C++、Java、R、Scala和Python方面拥有多年的研发经验,发表了多篇关于生物信息学、大数据和深度学习的研究论文,具有Spark、Zeppelin、Hadoop、Keras、Scikit-Learn、TensorFlow、DeepLearning4j、MXNet和H2O的实际工作经验。

内容简介

《Scala机器学习:构建现实世界机器学习和深度学习项目》通过“保险赔偿程度分析”“电信客户流失分析与预测”“基于历史和实时数据预测高频比特币价格”“人口规模聚类与民族预测”“主题建模:更好地洞察大型文本”“开发基于模型的电影推荐引擎”“使用 Q-learning和Scala Play框架进行期权交易”“使用深度神经网络进行银行电话营销的客户订购评估”“使用自动编码器和异常检测进行欺诈分析”“使用递归神经网络识别人类活动”和“使用卷积神经网络进行图像分类”等11个完整的项目,结合Spark ML、H2O、Zeppelin、DeepLearning4j和MXNet等流行机器学习库以及一些经典数据集为读者介绍了机器学习项目的详细开发流程。 《Scala机器学习:构建现实世界机器学习和深度学习项目》主要针对数据分析师、深度学习爱好者和开发人员,他们虽具有一定的背景知识,但是对于实际项目的开发过程接触得不多。通过本书的学习,读者不仅可以清楚地了解到实际项目的开发流程,而且可以对目前流行的机器学习算法、机器学习库、经典数据集、Scala函数式编程概念和Maven、SBT等构建工具等内容有更深入的认识,并能够在生产就绪环境中开发,构建和部署研究机器学习项目。

图书目录

译者序

原书前言

第 1章 保险赔偿程度分析 // 1

1.1 机器学习和学习过程 //1

1.1.1 典型的机器学习工作过程 // 2

1.2 超参数调整和交叉验证 //4

1.3 分析和预测保险赔偿程度 //6

1.3.1 动机 // 6

1.3.2 数据集的描述 // 6

1.3.3 对数据集的探索性分析 // 6

1.3.4 数据预处理 // 10

1.4 LR用于预测保险索赔的严重性 //13

1.4.1 使用 LR开发保险赔偿严重性预测模型 // 14

1.5 GBT回归用于预测保险索赔严重性 //18

1.6 使用随机森林回归算法提升性能 //23

1.6.1 随机森林用于分类和回归 // 23

1.7 比较分析和模型部署 //29

1.7.1 基于 Spark的大规模数据集模型部署 // 33

1.8 小结 //34

第 2章 电信客户流失分析与预测 // 35

2.1 流失分析的原理以及实现 //35

2.2 流失分析过程 //36

2.2.1 数据集的描述 // 38

2.2.2 探索性分析(EDA)和特征工程 // 38

2.3 LR用于流失预测 //47

2.4 用于流失预测的 SVM //52

2.5 用于客户流失预测的 DT //55

2.6 用于预测客户流失的随机森林 //61

2.7 选择要部署的最佳模型 //66

2.8 小结 //68

第 3章 基于历史和实时数据预测高频比特币价格 // 69

3.1 比特币、加密货币和在线交易 //69

3.1.1 最先进的比特币自动交易 // 71

3.1.2 训练 // 72

3.1.3 预测 // 72

3.2 原型的高级数据管道 //73

3.3 收集历史和实时价格数据 //74

3.3.1 历史数据集 // 74

3.3.2 将历史数据转换为时间序列 // 75

3.3.3 通过 Cryptocompare API处理实时数据 // 77

3.4 针对预测的模型训练 //80

3.5 Web服务: Scala Play //85

3.5.1 通过 Akka Actor实现并发 // 86

3.5.2 Web服务工作流程 // 86

3.6 预测价格并评估模型 //91

3.7 使用 Scala Play框架来演示预测 //92

3.7.1 为何选择 RESTful架构 // 92

3.7.2 项目结构 // 93

3.7.3 运行 Scala Play Web应用程序 // 95

3.8 小结 //96

第 4章 人口规模聚类与民族预测 // 99

4.1 人口规模聚类和区域民族 //99

4.1.1 针对遗传变异的机器学习 // 100

4.2 1000基因项目数据集描述 //100

4.3 算法、工具和技术 //102

4.3.1 H2O和 Sparkling Water // 102

4.3.2 ADAM用于大规模基因组数据处理 // 105

4.3.3 无监督机器学习 // 106 4.3.4 K均值的原理 // 107

4.3.5 用于进行地理民族预测的 DNN // 108

4.4 配置编程环境 //110

4.5 数据预处理和特征工程 //112

4.5.1 模型训练和超参数调整 // 117

4.5.2 使用随机森林进行民族预测 // 123

4.6 小结 //126

第 5章 主题建模:更好地洞察大型文本 // 127

5.1 主题建模和文本聚类 //127

5.1.1 LDA算法的工作原理 // 129

5.2 使用 Spark MLlib和 Stanford NLP进行主题建模 //131

5.2.1 实现 // 131

5.3 其他主题模型与 LDA的可扩展性 //139

5.4 部署经过训练的 LDA模型 //140

5.5 小结 //144

第 6章 开发基于模型的电影推荐引擎 // 145

6.1 推荐系统 //145

6.1.1 协同过滤方法 // 145

6.1.2 效用矩阵 // 147

6.2 基于 Spark的电影推荐系统 //148

6.2.1 针对电影相似性基于商品的协同过滤 // 148

6.2.2 基于 Spark的模型推荐 // 153

6.3 选择和部署最佳模型 //161

6.4 小结 //164

第 7章 使用 Q -learning和 Scala Play框架进行期权交易 // 165

7.1 强化学习与监督学习和无监督学习 //165

7.1.1 使用强化学习 // 166

7.1.2 强化学习中的符号、策略和效用 // 166

7.2 简单 Q-learning算法实现 //169

7.2.1 Q-learning算法的组成部分 // 169

7.2.2 QLearning 模型验证 // 179 7.2.3 使用训练模型进行预测 // 179

7.3 使用 Q-learning开发期权交易 Web应用程序 //179

7.3.1 问题描述 // 180

7.3.2 实现期权交易 Web应用程序 // 182

7.3.3 评估模型 // 189

7.3.4 将期权交易应用程序封装为 Scala Web应用程序 // 191

7.3.5 运行和部署说明 // 197

7.3.6 模型部署 // 199

7.4 小结 //199

第 8章 使用深度神经网络进行银行电话营销的客户订购评估 // 200

8.1 通过电话营销进行客户订购评估 //200

8.1.1 数据集描述 // 200

8.1.2 安装 Apache Zeppelin并开始使用 // 202

8.1.3 对数据集的研究与分析 // 204

8.1.4 数字特征统计 // 214

8.1.5 实施客户订购评估模型 // 215

8.1.6 超参数调整和特征选择 // 225

8.2 小结 //227

第 9章 使用自动编码器和异常检测进行欺诈分析 // 228

9.1 异常值和异常检测 //228

9.2 自动编码器和无监督学习 //231

9.2.1 自动编码器的工作原理 // 231

9.2.2 使用自动编码器实现高效的数据表示 // 232

9.3 开发欺诈分析模型 //233

9.3.1 数据集的描述和使用线性模型 // 233

9.3.2 问题描述 // 234

9.3.3 准备编程环境 // 234

9.3.4 辅助类和方法 // 254

9.4 超参数调整和特征选择 //255

9.5 小结 //256

第 10章 使用递归神经网络识别人类活动 // 258

10.1 使用 RNN //258

10.1.1 上下文信息和 RNN的体系结构 // 258

10.1.2 RNN和长期依赖性问题 // 260

10.1.3 LSTM网络 // 261

10.2 使用 LSTM模型识别人类活动 //263

10.2.1 数据集的描述 // 263

10.2.2 为 Scala设置和配置 MXNet // 264

10.3 为 HAR实现 LSTM模型 //266

10.4 调整 LSTM超参数和 GRU //281

10.5 小结 //283

第 11章 使用卷积神经网络进行图像分类 // 284

11.1 DNN的图像分类和缺点 //284

11.2 CNN架构 //285

11.2.1 卷积运算 // 286

11.2.2 池化层和填充操作 // 287

11.2.3 DL4j中的卷积和子采样操作 // 288

11.3 使用 CNN进行大规模图像分类 //295

11.3.1 问题描述 // 296

11.3.2 图像数据集的描述 // 296

11.3.3 整个项目的工作流程 // 297

11.3.4 CNN图像分类的实现 // 298

11.4 调整和优化 CNN超参数 //315

11.5 小结 //316