【问题标题】:What is the difference between xgboost, extratreeclassifier, and randomforrestclasiffier?xgboost、extratreeclassifier 和 randomforrestclasiffier 有什么区别?
【发布时间】:2016-05-16 04:35:32
【问题描述】:
我对所有这些方法都是新手,我正在尝试对此进行简单的回答,或者也许有人可以指导我在网络上的某个地方进行高级解释。我的谷歌搜索只返回了 kaggle 示例代码。
extratree 和 randomforrest 本质上是一样的吗? xgboost 在为任何特定树选择特征时使用提升,即对特征进行采样。但是那么其他两种算法是如何选择特征的呢?
谢谢!
【问题讨论】:
标签:
python
random-forest
xgboost
kaggle
【解决方案1】:
额外树(ET)又名。 极其随机的树与随机森林(RF)非常相似。这两种方法都是聚合一些完全生长的决策树的 bagging 方法。 RF 只会尝试拆分,例如三分之一的功能,但评估这些功能中任何可能的断点并选择最好的。但是,ET 只会评估随机的几个断点并从中挑选出最好的断点。 ET 可以将样本引导到每棵树或使用所有样本。 RF 必须使用引导程序才能正常工作。
xgboost 是梯度提升的一种实现,可以与决策树(典型的较小树)一起使用。训练每棵树以纠正先前训练的树的残差。梯度提升可能更难训练,但可以实现比 RF 更低的模型偏差。对于嘈杂的数据,装袋可能是最有前途的。对于低噪声和复杂的数据结构,提升可能是最有希望的。