Apache Spark 2.x Machine Learning Cookbook(1)

第1章:使用Scala使用Spark进行实用的机器学习

第2章:足够的线性代数用于Spark机器学习

第3章:Spark的三个机器学习数据火枪手-一起完美

第4章:实施强大的机器学习系统的常用食谱

第5章:Spark 2.0中具有回归和分类功能的实用机器学习-第一部分

第6章:Spark 2.0中具有回归和分类功能的实用机器学习-第二部分

第7章:可随Spark扩展的推荐引擎

第8章:使用Apache Spark 2.0的无监督群集

第9章:优化-沿梯度下降

第10章:使用决策树和集成模型构建机器学习系统

第11章:大数据中的高维诅咒

第12章:使用Spark 2.0 ML库实现文本分析

第13章:Spark流和机器学习库

数据是我们这个时代的新载体,而机器学习与受生物启发的认知系统相结合,不仅成为推动第四次工业革命诞生的核心基础,而且还促进了第四次工业革命的诞生。这本书是专为我们的父母准备的,他们通过极端的艰辛和牺牲,使我们的教育成为可能,并教会我们始终保持友善。
Apache Spark 2.x机器学习食谱是由四个具有不同背景的朋友制作的,他们在多个行业和学术领域都拥有丰富的经验。团队在手头主题方面拥有丰富的经验。这本书既涉及友谊,也涉及基于Spark和机器学习的科学。我们希望将思想汇总起来,为社区编写一本书,不仅将Spark的ML代码和现实世界的数据集结合在一起,而且还提供与上下文相关的解释,参考资料和阅读材料,以加深理解并促进进一步的研究。这本书反映了我们的团队在开始使用Apache Spark时希望拥有的东西。弹性分布式计算,云计算,GPU,认知计算,优化和高级机器学习 .

我对机器学习和人工智能的兴趣始于八十年代中期,当时我有机会阅读了恰好背对背列出在人工智能上的两个重要工件,《国际日报》第28卷第1期,2月 1986年。尽管对我们这一代的工程师和科学家来说,这是一段漫长的旅程,但幸运的是,弹性分布式计算,云计算,GPU,认知计算,优化和高级机器学习的进步成就了梦想数十年的梦想成真。 所有这些进步对于当今的ML爱好者和数据科学家来说都是可以获取的。

我们生活在历史上最罕见的时期之一,当时多种技术和社会学趋势在同一时间点融合在一起。 内置访问ML和深度学习网络的云计算弹性将为创建和占领新市场提供全新的机会。 Apache Spark作为通用语言或近实时弹性分布式计算和数据虚拟化的通用语言的出现,为精明的公司提供了大规模使用ML技术的机会,而无需在专用数据中心或硬件上进行大量投资。

Apache Spark 2.x机器学习指南是Apache Spark机器学习API的最全面的解决方法之一,它具有选定的Spark子组件,可为您提供基础知识,帮助您掌握机器学习的高端职业 和Apache Spark。 本书旨在提供清晰性和可访问性,目的是反映我们自己的经验(包括阅读源代码)和Apache Spark(从Spark 1.0开始)的学习曲线。

Apache Spark 2.x机器学习食谱通过实践者的视角生活在Apache Spark,机器学习和Scala的交集中,开发人员和数据科学家都从业者的视角,他们不仅需要理解代码,而且还必须了解细节,理论和内部工作原理。 给定的Spark ML算法或API来建立新经济的成功职业。 本书将可下载的现成的Apache Spark ML代码配方与背景,可操作的理论,参考资料,研究和现实数据集进行了融合,从而将菜谱的格式提升到了一个全新的水平,以帮助读者理解其内容,方式和方式。 为什么Spark为机器学习库提供了广泛的功能。 本书首先为成功奠定了基础,然后迅速发展以涵盖Apache Spark中可用的所有有意义的ML算法。

本书涵盖的内容

第1章,使用Spark使用Scala进行实用的机器学习,介绍如何使用Apache Spark使用机器学习和编程来安装和配置实际的开发环境。 使用屏幕截图,它指导您完成下载,安装和配置Apache Spark和IntelliJ IDEA以及必要的库,这些库将在现实世界中反映开发人员的桌面。 然后,它将继续识别和列出40多个具有真实数据集的数据存储库,这些数据存储库可以帮助读者进一步尝试和改进代码配方。 在最后一步,我们在Spark上运行我们的第一个ML程序,然后提供有关如何在您的机器学习程序中添加图形的指导,这些信息将在后续章节中使用。

第2章“使用Spark进行机器学习需要足够的线性代数”介绍了线性代数(向量和矩阵)的使用,这是机器学习中一些最重要的著作的基础。 通过本章中的食谱,它提供了对Apache Spark中可用的DenseVector,SparseVector和矩阵功能的全面处理。 它提供了本地和分布式矩阵的配方,包括RowMatrix,IndexedRowMatrix,CoordinateMatrix和BlockMatrix,以提供有关此主题的详细说明。 我们之所以包含这一章,是因为只有通过逐行阅读大部分源代码并了解矩阵分解和向量/矩阵算术如何在Spark中的更多过程粒度算法下才能熟练掌握Spark和ML / MLlib。

第3章,Spark的机器学习三大数据剑客-Perfect Together,提供了端对端处理Apache Spark中弹性分布数据操作和争执的三大支柱。 本章包括从从业者的角度涵盖RDD,DataFrame和Dataset工具的详细配方。 通过详尽列出17种食谱,示例,参考和解释,它奠定了机器学习科学事业成功的基础。 本章提供功能(代码)和非功能(SQL接口)编程方法,以巩固知识库,从而反映出一级公司成功的Spark ML工程师的实际需求。

第4章,实现健壮的机器学习系统的通用食谱,通过16种简短但切合实际的代码食谱,读者可以在自己的实际系统中使用它们,涵盖并排除了大多数机器学习系统中常见的任务 。 它涵盖了各种各样的技术,从规范化数据到评估模型输出,以及通过Spark的ML / MLlib工具使用最佳实践指标(读者可能不容易看到它们)。 它是在大多数情况下我们在日常工作中使用的食谱的组合,但单独列出以节省其他食谱的空间和复杂性。

第5章是Spark 2.0中具有回归和分类的实用机器学习-第一部分,是探索Apache Spark中的分类和回归的两章中的第一章。 本章从广义线性回归(GLM)开始,将其扩展到Spark中可用的不同类型优化的Lasso,Ridge。 然后,本章将介绍等渗回归,具有多层感知器(神经网络)和One-vs-Rest分类器的生存回归。

第6章,实用的机器学习与回归和分类在星火2.0 - 第II部分,是两个回归和分类章节的第二位。 本章介绍了在Spark中使用随机梯度体面和L_BFGS优化的,基于RDD的回归系统,范围从线性,对数,岭和套索。 最后三个配方涵盖了支持向量机(SVM)和朴素贝叶斯(NaïveBayes),最后是针对ML管道的详细配方,这些配方在Spark ML生态系统中占有重要地位。

第7章,可与Spark一起扩展的推荐引擎,介绍如何使用Spark的ML库功能浏览数据集并构建电影推荐引擎。 在深入研究Spark中的协作过滤技术之前,它使用大量数据集以及一些图形和文字来探索推荐程序的各种方法。

第8章,使用Apache Spark 2.0进行无监督群集,介绍了无监督学习中使用的技术,例如KMeans,混合和期望(EM),功率迭代群集(PIC)和潜在狄利克雷分配(LDA),同时还介绍了原因 以及如何帮助读者理解核心概念。 使用Spark Streaming,本章以实时KMeans聚类配方开始,以通过无监督方式将输入流分类为标记的类。

第9章,优化-借助梯度下降而走下坡路,是一本独特的章节,它将引导您逐步进行优化,因为它适用于机器学习。 它从封闭式公式和二次函数优化(例如成本函数)开始,然后使用梯度下降(GD)来解决从头开始的回归问题。 本章通过使用Scala代码开发读者的技能,帮助深入了解内幕,同时提供有关如何从头开始编写和理解随机下降(GD)的深入说明。 本章以Spark的ML API之一结束,以实现与我们从头开始编写的相同概念。

第10章,使用决策树和集成模型构建机器学习系统,涵盖了树和集成模型,用于使用Spark的机器库进行深度分类和回归。 我们使用三个实际数据集来探索使用决策树,随机森林树和梯度提升树的分类和回归问题。 本章提供了这些方法的深入说明,以及可逐步探索Apache Spark机器库的即插即用代码配方。

第11章“大数据中的高维诅咒”揭开了降维的艺术和科学神秘面纱,并完整介绍了Spark的ML / MLlib库,这有助于大规模机器学习中的这一重要概念。 本章提供了有关该理论(什么和为什么)的充分而深入的介绍,然后继续介绍了Spark中可供读者使用的两种基本技术(该如何使用)。 本章介绍了单值分解(SVD),它与第二章紧密相关,然后继续通过代码和文字深入研究主成分分析(PCA)。

第12章,使用Spark 2.0 ML库实施文本分析,介绍了Spark中可用于大规模实施文本分析的各种技术。 它从术语频率(TF)和类似技术(例如Word2Vec)之类的基础知识开始提供了全面的处理,然后继续分析一个完整的Wikipedia,以用于一个真实的Spark ML项目。 本章以在Spark中实现潜在语义分析(LSA)和具有潜在Dirichlet分配(LDA)的主题建模的深入讨论和代码结尾。

第13章,Spark Streaming和机器学习库,首先介绍了Spark Streaming,并介绍了其未来的发展方向,然后继续为基于RDD(DStream)和结构化Streaming提供配方以建立基线。 然后,在撰写本书时,本章将介绍Spark中所有可用的ML流算法。 本章提供代码并显示如何实现流数据框架和流数据集,然后继续介绍queueStream进行调试,然后再进入流KMeans(无监督学习)以及使用实际数据集的流线性模型(例如线性和逻辑回归)。

要执行本书中的配方,您需要运行Windows 7及更高版本或Mac 10的系统,并安装以下软件:

发布了158 篇原创文章 · 获赞 28 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/wangjunji34478/article/details/105593022