shartoo +

大数据:spark mllib集成学习

本文总阅读量
欢迎star我的博客

此文可以参考如何在MLlib中实现随机森林和梯度提升树(GBTs)一起阅读

一 梯度提升树和随机森林

  梯度提升树(Gradient-Boosted Trees,GBTs)和随机森林都是决策树的集成学习方法,但是训练过程不一。以下是两种之间的一些利弊:

二 随机森林

在分类和回归中,随机森林是最成功的机器学习方法。它结合多颗决策树以减少过拟合风险。比如决策树,随机森林可以处理类别特征,如果不需要数据规范化(关于数据规范化,可以参考数据规范化,数据规范化的好处参考 为什么feature scaling会使 gradient desent收敛更好)的话可以拓展到多分类,并且可以处理非线性和特征交互问题。 spark.mllib 可以同时使用连续型数据和类别特征,为分类和逻辑回归提供二分类和多分类。直接使用了现有的决策树实现了随机森林。

2.1 基本算法

随机森林单独的训练集合中每一课决策树,因而可以并行执行。算法在训练过程中引入了随机性,使得每个决策树都不一样。结合每棵树的决策可以减少最终决策偏差,提高算法最终表现。

2.2 训练数据

随机森林算法中加入的随机性包括以下:

2.3 预测

  为了在新数据上作出预测,随机森林需要从其决策树集合中合计出预测,这个过程在分类和回归中是完全不同的。

2.4 小提示

  以下两个参数微调可以提高算法性能

  以下连个参数通常不需要调节,但是可以用来加速训练过程

2.5 代码示例

以下代码演示了如何载入 LIBSVM data file ,将其解析成LabeledPoint类型的RDD,然后使用随机森林来分类。使用测试误差来衡量算法准确率

我的博客

观点

源码