【Spark排序算法系列】主要介绍的是目前推荐系统或者广告点击方面用的比较广的几种算法,和他们在Spark中的应用实现,本篇文章主要介绍GBDT算法.

前言

本系列还包括(持续更新):

  • Spark排序算法系列之LR(逻辑回归)
  • Spark排序算法系列之模型融合(GBDT+LR)
  • Spark排序算法系列之XGBoost
  • Spark排序算法系列之FTRL(Follow-the-regularized-Leader)
  • Spark排序算法系列之FM与FFM

在本篇文章中你可以学到:

  • Spark MLLib包中的GBDT使用方式
  • 模型的通过保存、加载、预测
  • PipeLine
  • ML包中的GBDT

概述

LR因为其容易并行最早应用到推荐排序中的,但学习能力有限,需要大量的特征工程来增加模型的学习能力。但大量的特征工程耗时耗力,且不一定带来效果的提升,因此在如何能有效的发现特征组合,来缩短LR特征实验周期的背景下,GBDT被应用了起来。GBDT模型全称是Gradient Boosting Decision Tree,梯度提升决策树。是属于Boosing算法中的一种,关于Boosting的介绍可以参考文章集成学习(Ensemble Learning)

关于GBDT算法理解可参考:

  • Spark排序算法系列之GBTs基础——梯度上升和梯度下降
  • 梯度提升决策树GBDT(Gradient Boosting Decision Tree)

其实相信很多人对Spark 机器学习包(ml和mllib)中的GBDT傻傻分不清楚,这里我们先来捋一捋。Spark中的GBDT较GBTs——梯度提升树,因为其是基于决策树(Decision Tree,DT)实现的,所以叫GBDT。Spark 中的GBDT算法存在于ml包和mllib包中,mllib是基于RDD的,ml包则是针对DataFrame的,ml包中的GBDT分为分类和回归,在实际使用过程中,需要根据具体情况进行衡量和选择。由于在实际生产环境中使用基于RDD的较多,所以下面将着重介绍下MLLib包中的GBTs,ML包中的将进行简单说明。


完整内容请阅读原文:https://blog.csdn.net/Gamer_gyt/article/details/86695837


打开微信扫一扫,关注微信公众号【搜索与推荐Wiki】