在Spark框架当中,作为机器学习库的MLlib,也是Spark生态的重要组件之一。而机器学习,也是大数据处理的常见应用场景之一,尤其是随着互联网的进一步发展,基于机器学习的大数据处理需求还在进一步上升。今天我们主要就Spark ML机器学习,来详细聊一聊。
Spark机器学习库MLlib,主要功能包括——
实用工具:线性代数,统计,数据处理等工具;
特征工程:特征提取,特征转换,特征选择;
常用算法:分类,回归,聚类,协同过滤,降维;
模型优化:模型评估,参数优化。
Spark MLlib库包括两个不同的部分,spark.mllib以及spark.ml——
spark.mllib包含基于rdd的机器学习算法API,目前不再更新,在3.0版本后将会丢弃,不建议使用。
spark.ml包含基于DataFrame的机器学习算法API,可以用来构建机器学习工作流Pipeline,推荐使用。
Spark MLlib基本概念:
DataFrame:MLlib中数据的存储形式,其列可以存储特征向量,标签,以及原始的文本,图像。
Transformer:转换器。具有transform方法。通过附加一个或多个列将一个DataFrame转换成另外一个DataFrame。
Estimator:估计器。具有fit方法。它接受一个DataFrame数据作为输入后经过训练,产生一个转换器Transformer。
Pipeline:流水线。具有setStages方法。顺序将多个Transformer和1个Estimator串联起来,得到一个流水线模型。
Spark MLlib支持的主要模型及算法——
机器学习分类模型:逻辑回归,SoftMax回归,决策树,随机森林,梯度提升树,线性支持向量机,朴素贝叶斯,One-Vs-Rest,以及多层感知机模型。
回归模型:如线性回归,广义线性回归,决策树回归,随机森林回归,梯度提升树回归,生存回归,保序回归。
聚类模型:主要有K均值聚类,高斯混合模型GMM,以及二分的K均值,隐含狄利克雷分布LDA模型等。
降维模型:只有主成分分析PCA算法。这个模型在spark.ml.feature中,通常作为特征预处理的一种技巧使用。
以上就是对于Spark ML组件的一个简单介绍了,目前来说Spark MLlib机器学习库,也是Spark生态当中一个重要的支持组件,在面对简单的机器学习处理需求时,还是可以比较好的完成的。成都加米谷大数据,大数据知识分享,
大数据培训班2月班正在招生中,详情可联系客服了解!