Machine learning Weka 3.7中随机森林的精确实现

Machine learning Weka 3.7中随机森林的精确实现,machine-learning,data-mining,weka,decision-tree,random-forest,Machine Learning,Data Mining,Weka,Decision Tree,Random Forest,回顾了Breiman(2001)的原始文件以及董事会的其他一些帖子后,我对WEKAs random forest实施所使用的实际程序有点困惑。这些资料都不够详尽,许多甚至相互矛盾 它是如何详细工作的,执行了哪些步骤? 我至今的理解是: 对于每个树,将创建与训练数据大小相同的引导样本 对于每个节点,只考虑定义大小的可用特征的随机子集(参数可在WEKA中选择) 关于使用的基本树学习者,我发现一篇2006年的帖子说这是一个修改过的REPTree 这棵树已经完全长成,没有修剪 采用多数票表决(如果精度

回顾了Breiman(2001)的原始文件以及董事会的其他一些帖子后,我对WEKAs random forest实施所使用的实际程序有点困惑。这些资料都不够详尽,许多甚至相互矛盾

它是如何详细工作的,执行了哪些步骤?

我至今的理解是:

  • 对于每个树,将创建与训练数据大小相同的引导样本
  • 对于每个节点,只考虑定义大小的可用特征的随机子集(参数可在WEKA中选择)
  • 关于使用的基本树学习者,我发现一篇2006年的帖子说这是一个修改过的REPTree
  • 这棵树已经完全长成,没有修剪
  • 采用多数票表决(如果精度作为绩效指标)
我的问题是:

  • 实际使用的是自举采样吗
  • REPTree是否仍在使用中,或者此后算法是否已更改

澄清这些问题会对我有很大帮助

来回答您的问题

  • 确实使用了Bagging(引导聚合)。您可以在线查看代码中的内容

  • 看起来使用了RandomTree,如第行所示


  • 这些信息来自Weka 3.7.5,我相信这在3.6.8版之前都是正确的,但我还没有检查源代码。

    来回答您的问题

  • 确实使用了Bagging(引导聚合)。您可以在线查看代码中的内容

  • 看起来使用了RandomTree,如第行所示


  • 这些信息来自Weka 3.7.5,我相信这在3.6.8版之前都是正确的,但我还没有检查源代码。

    非常感谢,第一个问题已经解决。它确实使用了RandomTree,但剩下的问题是RT基于哪一个——CART或REPTree,这大概是基于哪一个,但不确定。我不确定您是否熟悉Java,但您可以比较两个buildTree()方法:。对我来说,它们看起来非常相似,但我找不到最近的消息来源说它们是一样的。谢谢,我会看一看。据说它是REPTree的一个稍加修改的版本。在手机屏幕上看不到任何东西,但我会在家里查看。Thanks@Walter“是的,WEKA的RandomForest确实不是基于CART的,但它也不是基于J48的,而是REPTree的一个变体,经过修改以包含所需的随机性,而不是修剪。”非常感谢,第一个问题解决了。它确实使用了RandomTree,但剩下的问题是RT基于哪一个——CART或REPTree,这大概是基于哪一个,但不确定。我不确定您是否熟悉Java,但您可以比较两个buildTree()方法:。对我来说,它们看起来非常相似,但我找不到最近的消息来源说它们是一样的。谢谢,我会看一看。据说它是REPTree的一个稍加修改的版本。在手机屏幕上看不到任何东西,但我会在家里查看。Thanks@Walter“是的,WEKA的RandomForest确实不是基于CART,但它也不是基于J48,而是REPTree的一个变体,经过修改以包含所需的随机性,而不是修剪”