在scikit中的RandomForestClassifier与ExtraTreesClassifier学习

时间:2014-03-14 15:50:52

标签: scikit-learn random-forest

任何人都可以解释scikit中的RandomForestClassifier和ExtraTreesClassifier之间的区别。我花了很多时间阅读论文:

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

看来这些是ET的区别:

1)在拆分中选择变量时,将从整个训练集中抽取样本,而不是训练集的自举样本。

2)从每个分裂的样品中的值范围中完全随机选择分裂。

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

3 个答案:

答案 0 :(得分:53)

是的,两个结论都是正确的,尽管scikit-learn中的Random Forest实现可以启用或禁用引导程序重采样。

在实践中,RF通常比ET更紧凑。从计算的角度来看,ET通常更便宜,但可以变得更大。 ET有时可以比RF更好地推广,但是如果没有先尝试两者(并且通过交叉调整n_estimatorsmax_featuresmin_samples_split,很难猜测它是什么情况 - 经过验证的网格搜索)。

答案 1 :(得分:12)

ExtraTrees分类器总是测试特征部分的随机分割(与RandomForest相比,后者测试所有可能的特征分裂)

答案 2 :(得分:0)

随机森林与多余树木(通常称为极度随机森林)之间的主要区别在于,对于所考虑的每个要素,不是随机计算局部最优特征/分割组合(针对随机森林),而是随机为拆分选择值(对于多余的树)。这是一个很好的资源,可以更详细地了解它们的区别。随机森林与多余树。