scikit learn 中的 RandomForestClassifier 与 ExtraTreesClassifier

问题描述 投票:0回答:3

谁能解释一下 scikit learn 中 RandomForestClassifier 和 ExtraTreesClassifier 之间的区别。 我花了很多时间阅读这篇论文:

P。 Geurts、D. Ernst. 和 L. Wehenkel,“极其随机的树”,机器学习,63(1), 3-42, 2006

看来这些就是 ET 的区别:

1)在分割时选择变量时,样本是从整个训练集中抽取的,而不是训练集的引导样本。

2) 分割是从每次分割的样本值范围中完全随机选择的。

这两件事的结果是更多的“叶子”。

scikit-learn random-forest
3个回答
65
投票

是的,两个结论都是正确的,尽管 scikit-learn 中的随机森林实现可以启用或禁用引导重采样。

在实践中,RF 通常比 ET 更紧凑。从计算的角度来看,ET 的训练成本通常较低,但可以变得更大。 ET 有时可以比 RF 更好地概括,但如果不首先尝试两者(并通过交叉验证的网格搜索调整

n_estimators
max_features
min_samples_split
),很难猜测何时是这种情况。


27
投票

ExtraTrees 分类器始终测试部分特征的随机分割(与 RandomForest 不同,后者测试部分特征的所有可能分割)

这个答案来自本课程:https://www.coursera.org/learn/competitive-data-science?specialization=aml


0
投票

随机森林和额外树(通常称为极端随机森林)之间的主要区别在于,对于所考虑的每个特征,不是计算局部最优特征/分割组合(对于随机森林),而是计算一个随机值选择用于分割(用于额外的树)。这是一个很好的资源,可以更详细地了解随机森林与额外树的差异。

© www.soinside.com 2019 - 2024. All rights reserved.