【问题标题】:RandomForestClassifier vs ExtraTreesClassifier in scikit learnscikit learn中的RandomForestClassifier vs ExtraTreesClassifier
【发布时间】:2014-04-20 00:44:28
【问题描述】:

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

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

似乎这些是 ET 的区别:

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

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

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

【问题讨论】:

  • 我对 extratreeclassifier 如此感兴趣的原因是我在特定问题上使用 ET 获得了更好的结果。我的特征向量大于 200 个变量,并且变量非常嘈杂。标准 RDF 分类器的结果很差,但 ET 的 F1 分数超过 90%。类不平衡,正类样本相对较少,负类样本较多。
  • 另见这个更新的答案:stats.stackexchange.com/questions/175523/…

标签: scikit-learn random-forest


【解决方案1】:

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

【讨论】:

  • 我想你是想粘贴一个链接。
【解决方案2】:

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

【讨论】:

  • 我很高兴这条评论实际上是对 Coursera 测验问题的逐字回答
  • 是的@Bob。我发现这个答案非常有用,这就是我在此处发布的原因,它有助于其他人理解额外树和随机森林之间的区别。
  • 也来自同一门课程。这个答案很有帮助!
  • 是的@skeller88 这是很棒的课程。你也应该看看这个coursera.org/learn/competitive-data-science?specialization=aml
【解决方案3】:

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

在实践中,RF 通常比 ET 更紧凑。从计算的角度来看,ET 通常训练成本更低,但可以变得更大。 ET 有时可以比 RF 更好地概括,但如果不先尝试两者(并通过交叉验证的网格搜索调整 n_estimatorsmax_featuresmin_samples_split),很难猜测何时会出现这种情况。

【讨论】:

    猜你喜欢
    • 2016-01-26
    • 2019-10-22
    • 2023-03-22
    • 1970-01-01
    • 2016-02-28
    • 2018-12-30
    • 2017-04-12
    • 2012-09-03
    • 2015-08-17
    相关资源
    最近更新 更多