Apache Spark机器学习.1.4 MLlib

1.4 MLlib


MLlib是一个可扩展的Spark机器学习库,包括很多常用的机器学习算法。MLlib内置的算法如下:

以向量和矩阵形式处理数据

基本的统计计算,例如:汇总统计和相关性、简单随机数生成、分层抽样、执行简单的假设检验

分类和回归建模

协同过滤

聚类

降维

特征提取与转换

频繁模式挖掘

开发优化

PMML模型导出

Spark MLlib还处在活跃开发阶段,预计每次新版发布都会有新的算法加入其中。

MLlib符合Apache Spark的计算哲学,简单易用,性能卓越。

MLlib使用依赖于netlib-java和jblas的线性代数包Breeze。netlib-java和jblas依赖于本地Fortran程序。如果节点没有安装gfortran运行库,用户需要自行安装。要是没有自动检测到库,MLlib会报链接错误。

关于MLib用例和详细的使用信息,请访问:http://researcher.watson.ibm.com/researcher/files/us-ytian/systemML.pdf。

其他机器学习库

正如前面讨论的,MLlib已经实现了常用的回归和分类算法。但这些基本的算法不足以支持复杂的机器学习。

如果我们等待Spark团队将所有需要的机器学习算法加入库中,则需要很长时间。正因为如此,很多第三方团队向Spark贡献了机器学习库。

IBM已经向Apache Spark贡献了机器学习库SystemML。

除了MLlib提供的功能外,SystemML提供了更丰富的机器学习算法,如缺失数据填补、SVM、GLM、ARIMA、非线性优化、图建模及矩阵分解等算法。

SystemML由IBM Almaden研究组开发,是一个分布式机器学习引擎,可以扩展到任意大的数据集,它的优势有:

整合了分散的机器学习环境

给出了Spark核心生态完整的DML集

允许数据科学家集中精力关注算法问题,而不是具体实现

提升了数据科学团队的时间价值

建立了一个事实上可重用的机器学习程序标准

SystemML参考了R 语言语法和语义,并提供通过其自己的语言编写新算法的能力。

Spark通过SparkR与R语言进行了较好的集成,用户需要时可以使用R语言众多的机器学习算法。正如后面我们要讨论的,SparkR notebook使得这些操作非常容易。

时间: 2024-08-29 03:31:40

Apache Spark机器学习.1.4 MLlib的相关文章

《 Apache Spark机器学习.》导读

本节书摘来自华章出版社< Apache Spark机器学习.>一书中作者[美] 刘永川(Alex Liu) 著 闫龙川 高德荃 李君婷 译  前 言 作为数据科学家和机器学习专业人员,我们的工作是建立模型进行欺诈检测.预测客户流失,或者在广泛的领域将数据转换为洞见.为此,我们有时需要处理大量的数据和复杂的计算.因此,我们一直对新的计算工具满怀期待,例如Spark,我们花费了很多时间来学习新工具.有很多可用的资料来学习这些新的工具,但这些资料大多都由计算机科学家编写,更多的是从计算角度来描述.

Apache Spark机器学习.1.1 Spark概述和技术优势

摘要 Spark机器学习简介 本章从机器学习和数据分析视角介绍Apache Spark,并讨论Spark中的机器学习计算处理技术.本章首先概括介绍Apache Spark,通过与MapReduce等计算平台进行比较,展示Spark在数据分析中的技术优势和特点.接着,讨论如下五个方面的内容: 机器学习算法与程序库 Spark RDD和DataFrame 机器学习框架 Spark pipeline技术 Spark notebook技术 以上是数据科学家或机器学习专业人员必须掌握的五项最重要的技术内容

Apache Spark机器学习.1.9 小结

1.9 小结 本章介绍了Apache Spark所有的基础知识,这也是所有想把Apache Spark应用于机器学习实际项目的从业者必须理解掌握的.我们重点探讨了Apache Spark计算,并涉及一些最重要的机器学习组件,以便把Apache Spark和机器学习关联起来,让开展机器学习项目的读者做好充分准备. 第一,我们作了Spark总体概述,还讨论了Spark优点以及面向机器学习的Spark计算模型. 第二,我们回顾了机器学习算法,Spark的MLlib库和其他机器学习库. 第三,讨论了Sp

Apache Spark机器学习3.1 Spark整体视图

摘要 基于Spark的整体视图 通过第1章,我们建立起了Spark系统,根据第2章的内容,我们完成了数据准备.现在将进入Spark系统应用的新阶段:从数据中获得洞见. 根据Gartner等机构的研究结果,许多公司仅仅是因为缺乏其商业的整体视图而损失了大量的价值.本章我们将回顾机器学习的方法和获得商业整体视图的步骤,然后讨论Spark如何简单.快速地进行相关计算,同时通过一个实例,循序渐进地展示使用Spark从数据到整体视图的开发过程. Spark整体视图 整体视图的方法 特征准备 模型估计 模型

Apache Spark机器学习.2.1 访问和加载数据集

摘要 Spark机器学习的数据准备 机器学习从业者和数据科学家时常耗费70%或80%的时间为机器学习项目准备数据.数据准备可能是很艰辛的工作,但是它影响到接下来的各方面工作,因此是非常必要和极其重要的.所以,在本章中,我们将讨论机器学习中所有必要的数据准备方面的内容,通常包括数据获取.数据清洗.数据集连接,再到特征开发,从而让我们为基于Spark平台构建机器学习模型准备好数据集.具体而言,我们将讨论前面提到的以下6个数据准备任务,然后在针对复用性和自动化的讨论中结束本章: 访问和加载数据集 开放

Apache Spark机器学习2.6 特征提取

2.6 特征提取 在本节,我们的关注点将转向特征提取,特征提取是根据工作数据集中可用特征或信息扩展为新的特征或者变量.与此同时,我们将讨论一些Apache Spark中特征提取的特殊功能,以及Spark中与特征相关的便捷解决方案. 学完本节之后,我们能够针对各种各样的机器学习项目开发并组织特征. 2.6.1 特征开发的挑战 大部分的大数据机器学习项目通常都不能直接使用大数据集.例如,使用网络日志数据时,它经常以随机文本集形式呈现,显得非常混乱,我们需要从中提取对机器学习有用的信息和特征.例如,我

Apache Spark机器学习2.7 复用性和自动化

2.7 复用性和自动化 本节我们将讨论数据集组织方法.预处理工作流方法,然后使用Apache Spark pipeline模型进行表示,并实现工作流.然后,我们将评估数据预处理的自动化解决方案. 学完本节,我们应能够使用Spark pipeline模型来表示和实现数据集预处理工作流,理解一些基于Apache Spark的自动化解决方案. 2.7.1 数据集预处理工作流 数据准备工作是从数据清洗到标识匹配,再由数据重组到特征提取,能以某种形式进行组织,反映了一步一步开展机器学习数据集准备的有序过程

Apache Spark机器学习.2.4 数据集重组

2.4 数据集重组 本节,我们介绍数据集重组技术.我们将讨论一些特殊的Spark数据重组特征,以及一些可以用在Spark notebook中基于R语言数据重组的特别方法. 学习完本节,我们可以根据不同的机器学习需要进行数据集重组. 2.4.1 数据集重组任务 数据集重组虽然听起来比较容易,但还是很有挑战,并且非常耗时. 有两个常见的数据重组任务:一是,获取一个用于建模的数据子集:二是,以更高的层次汇总数据.例如,我们有学生数据,但是我们需要一些班级层面的数据集.为此,我们需要计算学生的一些属性,

Apache Spark机器学习3.7 部署Apache

3.7 部署 有一些用户可能已经拥有了部署系统,按用户所需的格式将所开发的模型导出即可. 对于线性回归模型,MLlib支持将模型导出为预测模型标记语言(Predictive Model Markup Language,PMML). 更多关于MLlib导出PMML模型的信息,请访问:https://spark.apache.org/docs/latest/mllib-pmml-model-export.html. 对于R notebook,PMML可以直接在其他环境运行.使用R语言函数包PMML,