spark mllib算法思想总结

Spark MLlib全部算法总结(2.1.0版)

说明:总结算法为Spark2.1.0中Mllib中源码算法,参照网络链接及书籍整理而成。

算法按计算过程分两大类:监督学习(Supervised Learning)和无监督学习(Unsupervised Learning)。

监督学习:指给定算法的一个数据集,其中包含了“正确答案”。算法的目的就是给出更多的“正确答案”。

无监督学习:指给定算法的一个数据集,要求算法找出数据的类型结构,即“分门别类”。按基于数据类型不同又分为两个包:ml包和mllib包。

mllib包内算法是基于Spark的核心RDD(弹性分布式数据集)类型数据的。

ml包内算法是基于更为抽象数据类型DataFrame(数据流)的。

ml、mllib包内按功能类型分又分为多种类型,包括分类(classification)、聚类(clustering)、特征(feature)、优化(optimi/optimization)、推荐(recommendation)、回归(regression)、评估(evaluation)等多种类型。

注:Spark从2.0版本开始,不再向mllib包中添加新的算法,并逐渐将mllib包中算法向ml包中过渡,预计3.0版本将会移除mllib包,统一ml包内基于DataFrame类型的算法。

1 mllib包内算法

注:分类与回归的区别在于:分类是结果值离散型的,少数的;而回归结果值是连续的,多数的。根据结果值需求来决定用哪个算法。所以把分类与回归放一块分析。

1.1分类(classification)

1.2回归(regression)

1.3聚类(clustering)

1.4评估(evaluation)

1.5特征(feature)

1.6关联规则(fpm)

1.7优化(optimization)

1.8推荐(recommendation)

1.9统计(stat)

1.10树(tree)

2 ml包内算法

说明:名为ml包内算法,实则并非ml包与mllib包区别十分明显,部分甚至多数ml包内算法已经在mllib包算法内提到并叙述。ml包内算法仅为对算法提供一个基于DataFrame类型的补充说明,已解释过的算法不再赘述。

2.1组件(ml)

2.2分类(classification)

2.3优化(optim)

2.4回归(regression)

2.5调优(tuning)

spark mllib算法思想总结_第1张图片

你可能感兴趣的:(Spark,SparkCL)