暂无商品咨询信息 [发表商品咨询]
如果您精通机器学习概念并希望通过使用Scala的强大功能深入研究这些概念的实际实现来扩展知识,那么本书就是您所需要的!通过11个项目,您将熟悉流行的机器学习库,如Spark ML、H2O、Zeppelin、DeepLearning4j和MXNet。通过学习本书的如下内容,读者将能够使用数值计算和函数编程来执行复杂的数值任务,以便在生产就绪的环境中开发、构建和部署研究商业项目。应用优选的回归技术来提高预测模型的性能使用不同的分类算法进行业务分析使用集成技术生成比特币和股票交易的交易策略使用H2O和Spark ML训练深度神经网络利用NLP构建可扩展的机器学习模型学习如何应用如Q-learning之类的强化学习算法来开发ML应用程序学习如何使用自动编码器开发欺诈检测应用程序使用DeepLearning4j和MXNet实现LSTM和CNN模型
《Scala机器学习:构建现实世界机器学习和深度学习项目》通过“保险赔偿程度分析”“电信客户流失分析与预测”“基于历史和实时数据预测高频比特币价格”“人口规模聚类与民族预测”“主题建模:更好地洞察大型文本”“开发基于模型的电影推荐引擎”“使用 Q-learning和Scala Play框架进行期权交易”“使用深度神经网络进行银行电话营销的客户订购评估”“使用自动编码器和异常检测进行欺诈分析”“使用递归神经网络识别人类活动”和“使用卷积神经网络进行图像分类”等11个完整的项目,结合Spark ML、H2O、Zeppelin、DeepLearning4j和MXNet等流行机器学习库以及一些经典数据集为读者介绍了机器学习项目的详细开发流程。《Scala机器学习:构建现实世界机器学习和深度学习项目》主要针对数据分析师、深度学习爱好者和开发人员,他们虽具有一定的背景知识,但是对于实际项目的开发过程接触得不多。通过本书的学习,读者不仅可以清楚地了解到实际项目的开发流程,而且可以对目前流行的机器学习算法、机器学习库、经典数据集、Scala函数式编程概念和Maven、SBT等构建工具等内容有更深入的认识,并能够在生产就绪环境中开发,构建和部署研究机器学习项目。
本书作者Md. Rezaul Karim是德国弗劳恩霍夫应用信息技术研究所(FIT)的研究科学家,也是德国亚琛工业大学的博士。在加入FIT之前,他曾先后在韩国三星电子公司担任首席工程师,在爱尔兰国家大数据分析研究中心Insight担任研究员。他在C++、Java、R、Scala和Python方面拥有多年的研发经验,发表了多篇关于生物信息学、大数据和深度学习的研究论文,具有Spark、Zeppelin、Hadoop、Keras、Scikit-Learn、TensorFlow、DeepLearning4j、MXNet和H2O的实际工作经验。
译者序原书前言第 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
机器学习通过将数据转化为可操作的智能而对学术界和工业界产生了巨大影响。另一方面, Scala在过去几年中,特别是在数据科学和分析领域,其使用率稳步上升。本书是为数据科学家、数据工程师和深度学习爱好者编写的,他们具有复杂数值计算的扎实背景,但想了解更多可以实际操作的机器学习应用开发方法。 因此,如果读者精通机器学习概念并希望通过使用 Scala的强大功能深入研究实际实现来扩展知识,那么本书就是读者所需要的!通过书中 11个端到端项目,读者将熟悉如 Spark ML、H2O、Zeppelin、DeepLearning4j和 MXNet等流行的机器学习库。 阅读本书并练习所有项目后,读者将能够驾驭数值计算、深度学习和函数式编程来执行复杂的数值任务,并可以在生产就绪的环境中开发、构建和部署研究商业项目。 本书并不要求从封面一页页地阅读到封底,读者完全可以从感兴趣的任何页面来开始阅读,同时欢迎任何类型的改进反馈。 快乐阅读! 本书面向的读者如果想利用 Scala及 Spark ML、Deeplearning4j、H2O、MXNet和 Zeppelin等开源库的强大功能来理解大数据,那么本书非常适合。同时建议对 Scala和 Scala Play Framework有深入的了解,如果基本熟悉 ML技术将更好。 本书涵盖的内容第 1章 保险赔偿程度分析,讲解如何运用一些广泛使用的回归技术开发用于分析保险赔偿程度的预测模型,将演示如何在实际生产环境中部署该模型。 第 2章 电信客户流失分析与预测,将使用 Orange Telecoms Churn数据集,包括清洗后的客户活动和流失标签、指定客户是否取消订阅,以开发真实的预测模型。 第 3章 基于历史和实时数据预测高频比特币价格,展示了如何开发收集历史和实时数据的真实项目。项目预测即将到来的几周、几个月等时段的比特币价格,此外还将演示如何在比特币中生成用于在线交易的简单信号,最后本章使用 Scala Play框架将整个应用程序打包为 Web应用程序。 第 4章 人口规模聚类与民族预测,使用来自 1000 Genome项目的基因组变异数据,将 K均值聚类方法应用于可扩展的基因组数据分析,目标是聚集大规模人口的基因型变异,最后通过训练深度神经网络和随机森林模型来预测民族。 第 5章 主题建模:更好地洞察大型文本,展示了如何利用基于 Spark的 LDA算法和 Stanford NLP处理大规模原始文本来开发主题建模应用程序。 第 6章 开发基于模型的电影推荐引擎,展示了如何通过奇异值分解、 ALS和矩阵分原书前言解之间的互操作来开发可伸缩的电影推荐引擎,movie lens数据集将用于此端到端项目。 第 7章 使用 Q-learning和 Scala Play 框架进行期权交易,将在实际 IBM公司股票数据集上应用强化 QLearning算法,开发一个由批评和奖励驱动的期权交易应用程序,并使用Scala Play框架将整个应用程序打包为 Web应用程序。 第 8章 使用深度神经网络进行银行电话营销的客户订购评估,将展示如何解决称为客户订阅评估的现实问题,使用银行电话营销数据集训练 H2O深度神经网络,并评估了这种预测模型的性能。 第 9章 使用自动编码器和异常检测进行欺诈分析,将使用自动编码器和异常检测技术进行欺诈分析,使用 Worldline和布鲁塞尔自由大学( Université Libre de Bruxelles,ULB)机器学习小组在研究合作期间收集和分析的欺诈检测数据集。 第 10章 使用递归神经网络识别人类活动,该项目展示了如何使用名为 LSTM的RNN实现来使用智能手机传感器数据集进行人类行走、上楼等活动的识别。 第 11章 使用卷积神经网络的图像分类,演示了如何在称为 Yelp的真实图像数据集上使用卷积神经网络开发预测分析应用程序,如图像分类。 如何充分利用本书本书的目标人群是开发人员、数据分析师和深度学习爱好者,他们没有太多的复杂数值计算背景,但却想知道深度学习的相关内容,所以建议读者对 Scala及其函数式编程概念有深入的了解。此外,掌握本书的全部内容还需要对 Spark ML、H2O、Zeppelin、DeepLearning4j和 MXNet的一些知识有所了解,对构建工具 Maven和 SBT等有基本的了解。 书中所有示例都是在 Ubuntu 16.04 LT 64位和 Windows 10 64位系统上使用 Scala语言实现的,同时还需要如下组件(最好是最新版本): . Apache Spark 2.0.0(或更高版本);. MXNet、Zeppelin、DeepLearning4j和 H2O(请参阅本章和附带的 pom.xml文件中的详细信息);. Hadoop 2.7(或更高版本);. Java(JDK和 JRE)1.7 + / 1.8 +;. Scala 2.11.x(或更高版本);. 带有 Maven插件( 2.9+)、Maven编译器插件( 2.3.2+)和 Maven assembly插件(2.4.1+)的 Eclipse Mars或 Luna(最新版本);. IntelliJ IDE;. SBT插件和 Scala Play框架安装。 对于处理器而言,至少是 Core i3以上,推荐使用 Core i5,当然使用 Core i7更好,这将获得最佳的性能,同时多核处理可以提供更快的数据处理和可扩展性。对于内存而言,独立模式下至少使用 8GB内存,单个虚拟机至少使用 32GB内存,对于集群使用更高内存。对于存储空间而言,应该根据将要处理的数据集的大小来使用足够的存储空间,以运行繁重的作业,推荐至少有 50GB的可用磁盘存储空间用于独立存储器和 SQL仓库。 操作系统可以使用 Linux的 Debian、Ubuntu、Fedora、RHEL、CentOS等发行版,例如如果使用 Ubuntu,建议使用 14.04(LTS)64位或更高版本的完整安装,虚拟机采用 VM-Ware player 12或 VirtualBox,当然也可以在 Windows (XP/7/8/10)或 Mac OS X (10.4.7+)系统上运行 Spark作业。 下载示例代码文件可以使用账户登录 www.packtpub.com网站,然后下载本书的示例代码文件,如果在其他地方购买了本书,可以访问 www.packtpub.com/support并注册,示例代码文件将直接发送到注册邮箱中。 下载代码文件的步骤如下: 1)在 www.packtpub.com网站上登录或注册。 2)选择SUPPORT选项卡。 3)点击Code Downloads& Errata。 4)在搜索框中输入图书的名称,然后按照屏幕上的说明进行操作。下载文件后,请使用最新版本的压缩解压软件来解压缩文件夹,具体软件如下: . 适用于 Windows系统的 WinRAR / 7-Zip;. 适用于 Mac系统的 Zipeg / iZip / UnRarX;. 适用于 Linux系统的 7-Zip / PeaZip。 下载彩色图片下面网址中的 PDF文件包含本书中使用的截图 /图表的彩色图片,读者可以在这里下载:http://www.packtpub.com/sites/default/.les/downloads/ScalaMachineLearningProjects_Col-orImages.pdf。 使用约定本书中使用了许多文本约定。 CodeInText:表示文本中的代码、数据库表名、文件夹名称、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter句柄。这是一个例子:“将下载的 WebStorm-10*.dmg磁盘映像文件挂载为系统中的另一个磁盘。 代码块设置如下: val cv = new CrossValidator().setEstimator(pipeline).setEvaluator(new RegressionEvaluator).setEstimatorParamMaps(paramGrid).setNumFolds(numFolds)Scala函数代码块如下: 原书前言def variantId(genotype: Genotype): String = {val name = genotype.getVariant.getContigNameval start = genotype.getVariant.getStartval end = genotype.getVariant.getEnds"$name:$start:$end"}当希望引起读者对代码块的特定部分的注意时,相关的行或项目以黑体显示: var paramGrid = new ParamGridBuilder() .addGrid(dTree.impurity, "gini" :: "entropy" :: Nil) .addGrid(dTree.maxBins, 3 :: 5 :: 9 :: 15 :: 23 :: 31 :: Nil) .addGrid(dTree.maxDepth, 5 :: 10 :: 15 :: 20 :: 25 :: 30 :: Nil) .build()所有命令行输入或输出的写法如下: $ sudo mkdir Bitcoin$ cd Bitcoin黑体:表示在屏幕上出现的新术语、重要词语。例如菜单或对话框中的单词就像下面例子中一样出现在文本中,例子:“从管理面板中选择系统信息”。 警告或重要注意事项以这种方式给出。 提示和技巧以这种方式给出。
基本信息 | |
---|---|
出版社 | 机械工业出版社 |
ISBN | 9787111635130 |
条码 | 9787111635130 |
编者 | [德]雷祖尔·卡里姆(Md. Rezaul Karim) |
译者 | |
出版年月 | 2018-02-01 00:00:00.0 |
开本 | 16开 |
装帧 | 平装 |
页数 | 316 |
字数 | 470 |
版次 | 1 |
印次 | 1 |
纸张 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]