Spark MLlib机器学习—四大类算法笔记
作者头像
  • 服博士
  • 2019-12-07 16:06:20 2

Spark 从 2.0 版本开始,基于 RDD API 开发的机器学习算法库逐渐进入维护模式。现在,在使用 Spark 的机器学习功能时,推荐使用基于 DataFrame API 实现的算法库。

基于 RDD 完成的算法库

该库位于 org.apache.spark.mllib 包内,详细文档可在 这里 查阅。

基于 DataFrame 完成的算法库

该库位于 org.apache.spark.ml 包内,具体文档可在 这里 查阅。

Spark 中的机器学习算法主要分为四大类:分类算法回归算法推荐算法聚类算法

分类算法(Classification)

分类算法是一种监督学习方法,用于预测目标属于某一类别(如二分类或多分类)。

二分类算法
  • 支持向量机(SVM)
  • 逻辑回归
  • 决策树
  • 随机森林
  • 梯度提升树
  • 朴素贝叶斯
多分类算法
  • 逻辑回归
  • 决策树
  • 随机森林
  • 朴素贝叶斯

应用场景包括: - 渣滓邮件分类(是/否) - 性别预测(男/女) - 广告点击预测(是/否) - 水果类别预测(西瓜、香蕉、苹果、梨)

回归算法(Regression)

回归算法用于预测连续值。

  • 决策树
  • 线性回归(包括 L1 正则化的 Lasso 回归和 L2 正则化的 Ridge 回归)
  • 随机森林
  • 梯度提升树

应用场景包括: - 某天的气温预测(如:4-25) - 某天的订单预测 - 股票涨跌幅度预测

推荐算法(Collaborative Filtering)

推荐算法用于发现用户行为模式,例如“看了又看”、“买了又买”。

  • 协同过滤算法(采用交替最小二乘法 ALS)
  • 关联规则算法(购物篮算法,采用频繁模式增长算法 FP-growth)

聚类算法(Clustering)

聚类算法是一种无监督学习方法,用于根据对象特征进行分类。

  • K-均值算法(K-means)

聚类算法与分类算法的主要区别在于缺乏历史可靠数据。例如,对于性别预测,可以根据头发长度、胡须、喉结等特征将其分类;而对于外星人分类,则需要研究其特征,如眼睛、皮肤颜色、身高、特殊能力等。

集成学习算法(Ensemble Learning)

集成学习算法通过结合多个机器学习模型来进行预测,并最终合并结果。

  • 随机森林(由多棵树组成)
  • 梯度提升树(底层采用 RF 算法)

希望以上内容能够满足您的需求。如果有进一步的问题或需要其他帮助,请随时告知。

    本文来源:图灵汇
责任编辑: : 服博士
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
大类算法机器笔记学习MLlibSpark
    下一篇