Preface 前 言
作为数据科学家和机器学习专业人员,我们的工作是建立模型进行欺诈检测、预测客户流失,或者在广泛的领域将数据转换为洞见。为此,我们有时需要处理大量的数据和复杂的计算。因此,我们一直对新的计算工具满怀期待,例如Spark,我们花费了很多时间来学习新工具。有很多可用的资料来学习这些新的工具,但这些资料大多都由计算机科学家编写,更多的是从计算角度来描述。
作为Spark用户,数据科学家和机器学习专业人员更关心新的系统如何帮助我们建立准确度更高的预测模型,如何使数据处理和编程更加简单。这是本书的写作目的,也是由数据科学家来执笔本书的主要原因。
与此同时,数据科学家和机器学习专业人员已经开发了工作框架、处理过程,使用了一些较好的建模工具,例如R语言和SPSS。我们了解到一些新的工具,例如Spark的MLlib,可以用它们来取代一些旧的工具,但不能全部取代。因此,作为Spark的用户,将Spark与一些已有的工具共同使用对我们十分关键,这也成为本书主要的关注点之一,是本书不同于其他Spark书籍的一个关键因素。
整体而言,本书是一本由数据科学家写给数据科学家和机器学习专业人员的Spark参考书,目的是让我们更加容易地在Spark上使用机器学习。
主要内容第1章,从机器学习的角度介绍Apache Spark。我们将讨论Spark DataFrame和R语言、Spark pipeline、RM4E数据科学框架,以及Spark notebook和模型的实现。
第2章,主要介绍使用Apache Spark上的工具进行机器学习数据准备,例如Spark SQL。我们将讨论数据清洗、一致性匹配、数据合并以及特征开发。
第3章,通过实际例子清晰地解释RM4E机器学习框架和处理过程,同时展示使用Spark轻松获得整体商业视图的优势。
第4章,讨论如何通过机器学习简单快速地进行欺诈检测。同时,我们会一步一步地说明从大数据中获得欺诈洞见的过程。
第5章,介绍一个风险评估项目的机器学习方法和处理过程,在DataScientist-Workbench 环境下,使用Spark上的R notebook实现它们。该章我们主要关注notebook。
第6章,通过开发客户流失预测系统提高客户留存度,进一步说明我们在Spark上使用MLlib进行机器学习的详细步骤。
第7章,描述如何使用Spark上的SPSS开发推荐系统,用Spark处理大数据。
第8章,将应用范围拓展到教育机构,如大学和培训机构,这里我们给出机器学习提升教育分析的一个真实的例子,预测学生的流失。
第9章,以一个基于Spark的服务请求预测的实际例子,帮助读者更好地理解Spark在商业和公共服务领域服务城市的应用。
第10章,进一步拓展前面章节学习的内容,让读者将所学的动态机器学习和Spark上的海量电信数据结合起来。
第11章,通过Spark上的开放数据介绍动态机器学习,用户可以采取数据驱动的方法,并使用所有可用的技术来优化结果。该章是第9章和第10章的扩展,同时也是前面章节所有实际例子的一个良好回顾。
预备知识在本书中,我们假设读者有一些Scala或Python的编程基础,有一些建模工具(例如R语言或SPSS)的使用经验,并且了解一些机器学习和数据科学的基础知识。
读者对象本书主要面向需要处理大数据的分析师、数据科学家、研究人员和机器学习专业人员,但不要求相关人员熟悉Spark。
下载彩图我们以PDF文件的形式提供本书中屏幕截图和图标的彩色图片。这些彩色图片会有助于你更好地理解输出的变化。可以在以下网址下载该文件:http://www.packtpub.com/sites/default/files/downloads/ApacheSparkMachineLearningBlueprints_ColorImages.pdf。
The Translator’s Words?译 者 序近年来,大数据发展迅猛,如雨后春笋般出现在各行各业,企业收集和存储的数据成倍增长,数据分析成为企业核心竞争力的关键因素。大数据的核心是发现和利用数据的价值,而驾驭大数据的核心就是数据分析能力。面向大数据分析,数据科学家和专业的统计分析人员都需要简单、快捷的工具,将大数据与机器学习有机地结合,从而开展高效的统计分析和数据挖掘。
为了解决大数据的分析与挖掘问题,国内外陆续出现了很多计算框架与平台,其中,Apache Spark以其卓越的性能和丰富的功能备受关注,其相应的机器学习部分更是让人激动不已。本书的作者Alex Liu先生密切结合实际,以清晰的思路和精心的选题,详细阐述了Spark机器学习的典型案例,为我们的大数据分析挖掘实践绘制了精美蓝图。
本书首先介绍了Apache Spark概况和机器学习基本框架RM4E,其中包括Spark计算架构和一些最重要的机器学习组件,把Spark和机器学习有机地联系在一起,帮助开展机器学习有关项目的读者做好充分准备。接着,作者介绍了Spark机器学习数据准备工作,包括数据加载、数据清洗、一致性匹配、数据重组、数据连接、特征提取以及数据准备工作流和自动化等内容。完成了数据准备工作后,我们就跟随作者进入到本书的核心部分,实际案例分析。作者围绕Spark机器学习先后介绍了9个案例,内容涵盖整体视图、欺诈检测、风险评分、流失预测、产品推荐、教育分析、城市分析和开放数据建模等方面,囊括了大数据分析挖掘的主要应用场景。在每个案例中,作者对所使用的机器学习算法、数据与特征准备、模型评价方法、结果的解释都进行了详细的阐述,并给出了Scala、R语言、SPSS等环境下的关键代码,使得本书具有非常强的实用性和可操作性。
无论读者是数据科学家、数据分析师、R语言或者SPSS用户,通过阅读本书,一定能够对Spark机器学习有更加深入的理解和掌握,能够将所学内容应用到大数据分析挖掘的具体工作中,并在学习和实践中不断加深对Spark大数据机器学习的理解和认识。
大数据时代最鲜明的特征就是变化,大数据技术也在日新月异的变化之中,同时,Spark自身和机器学习领域都在快速地进行迭代演进,让我们共同努力,一起进入这绚丽多彩的大数据时代!
最后,我们要感谢本书的作者Alex Liu先生,感谢他奉献出引领大数据时代发展潮流和新技术应用的重要作品。感谢机械工业出版社华章公司的编辑们,是她们的远见和鼓励使得本书能与读者很快见面。感谢家人的支持和理解。尽管我们努力准确、简洁地表达作者的思想,但仍难免有词不达意之处。译文中的错误和不当之处,敬请读者朋友不吝指正,我们将不胜感激。
闫龙川 高德荃 李君婷2016年10月