SparkR对R的支持情况

开发十年,就只剩下这套Java开发体系了 >>>   hot3.png

Spark分为两大块:1基于hive的sql操作,2基于mllib的机器学习模型

 

1.Spark On Hive:在R下通过sql命令可完美支持对hive的增删改查;

2.MLLib的机器学习模型:分为普通机器学习模型和RDD版的机器学习模型,由于Spark目前将逐渐淘汰掉RDD版的API,所以这里不再包含RDD版的API:

1.基本数据统计:无R版,大概是R通过summary等基本命令即可完成;

2.ML Pipelines(数据管道):无R版,大概是R本身就有DataFrame和Data.Table等,可以直接进行数据治理;

3.数据抽取、变换、特征选择:无R版,同上

4.分类和回归:

a.逻辑回归:spark.logit

b.决策树分类器:无R版,原因不明

c.随机森林分类器:spark.randomForest

d.梯度提升树分类器:spark.gbt

e.多层感知器分类器:spark.mlp

f.支持向量机:spark.svmLinear

g.一对多分类器(One-vs-All):无R版,原因不明

h.朴素贝叶斯:spark.naiveBayes

i.线性回归:R只有一个广义线性回归的API: spark.glm

j.决策树回归:无R版,原因不明

k.随机森林回归:spark.randomForest 参数为regression即可

l.梯度提升树回归:同上

m.生存回归(survival regression):spark.survreg

生存分析:通过研究个体间的相似性,预测个体的生存时间,主要用于生物寿命预测或机器设备寿命预测,详见:http://blog.csdn.net/jaen_tail/article/details/79081954

n.保序回归(isotonic regression):spark.isoreg

保序回归:在不改变数据集顺序的前提下进行回归分析,主要用于药品毒性分析,详见:http://blog.csdn.net/legotime/article/details/51836014

 

5.聚类:

a.K-means:spark.kmeans

b.LDA:spark.lda

c.二分K均值(Bisecting k-means):spark.bisectingKmeans

d.高斯混合模型(GMM):spark.gaussianMixture

6.协同过滤:spark.als

7.频繁模式挖掘(FP-Growth):spark.fpGrowth

8.模型选择与调参:无R版

 

综上所述Spark的MLLib并不是一个全面的机器学习框架,也是结合了spark自身业务特点的。

如果使用Spark+R的方式进行机器学习建模时,就需要根据MLLib的现状,合理选择模型方案。

你可能感兴趣的:(SparkR对R的支持情况)