梯度提升与随机森林

时间:2017-09-13 06:11:04

标签: machine-learning random-forest xgboost

根据我的理解,RF随机选择功能,因此难以过度配合。但是,在sklearn Gradient中,还提供了max_features选项,可以帮助防止过度拟合。那么,为什么有人会使用随机森林? 任何人都可以根据给定的数据解释何时使用梯度增强与随机森林?

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

关于Quora的类似问题: https://www.quora.com/How-do-random-forests-and-boosted-decision-trees-compare

我同意作者在随机森林更强大的链接上 - 他们不需要进行大量特定问题的调整以获得良好的结果。除此之外,根据我自己的经验,还有其他一些项目:

  • 随机森林可以在小型数据集上表现更好;渐变提升的树木是饥饿的数据
  • 随机森林更容易解释和理解。这可能看起来很愚蠢,但如果需要技术人员使用,可以更好地采用模型

答案 1 :(得分:0)

根据我个人的经验,随机森林可能是一个更好的选择..

  1. 您在小型数据集上训练模型。
  2. 您的数据集很少有要学习的功能。
  3. 您的数据集的Y标记数较低,或者您尝试预测发生或很少发生的情况。
  4. 在这些情况下,像XGBoost和Light GBM这样的渐变增强算法可以过度拟合(尽管它们的参数已调整),而随机森林甚至Logistic回归等简单算法可能表现更好。为了说明,对于XGboost和Ligh GBM,与随机森林相比,来自测试集的ROC AUC可能更高,但与列车组的ROC AUC显示出太高的差异。

    尽管Gradient Boosting算法具有明显的预测,但在某些情况下,随机森林利用乞讨方法的模型稳定性(随机选择)并优于XGBoost和Light GBM。但是,Gradient Boosting算法在一般情况下表现更好。

答案 2 :(得分:0)

我认为这也是事实。我也在这个页面上看过How Random Forest Works 这解释了随机森林的优势。像这样:

  1. 对于分类问题的应用,随机森林算法 将避免过度拟合问题
  2. 对于分类和 回归任务,可以使用相同的随机森林算法
  3. 随机森林算法可用于识别最多 训练数据集的重要特征,换句话说, 特色工程。