任何人都可以解释scikit中的RandomForestClassifier和ExtraTreesClassifier之间的区别.我花了很多时间阅读论文:
P. Geurts,D.Ernst.和L. Wehenkel,"极度随机树",机器学习,63(1),3-42,2006
看来这些是ET的区别:
1)当在分割中选择变量时,从整个训练集中抽取样本而不是训练集的自举样本.
2)从每次分裂的样品中的值范围中完全随机地选择裂解.
这两件事的结果是更多的"叶子".
是的,两个结论都是正确的,尽管scikit-learn中的随机森林实现可以启用或禁用引导程序重采样.
在实践中,RF通常比ET更紧凑.从计算的角度来看,ET通常更便宜,但可以变得更大.ET有时可以比RF更好地推广,但是如果没有先尝试(和调整n_estimators
,max_features
以及min_samples_split
通过交叉验证的网格搜索),很难猜测是什么时候.
ExtraTrees分类器总是测试特征部分的随机分裂(与RandomForest相比,后者测试所有可能的特征分裂)