2

如何将 cforest/ctree 构建树所需的时间与数据中的列数解耦?

我认为该选项mtry可以用来做到这一点,即帮助说

随机森林类算法在每个节点上随机抽样作为候选的输入变量的数量。

但是,虽然这确实随机化了输出树,但它并没有将 CPU 时间与列数解耦,例如

p<-proc.time()

ctree(gs.Fit~.,
      data=Aspekte.Fit[,1:60],
      controls=ctree_control(mincriterion=0,
                             maxdepth=2,
                             mtry=1))

proc.time()-p

需要两倍的时间Aspekte.Fit[,1:30](顺便说一句。所有变量都是布尔值)。为什么?它在哪里随列数缩放?

在我看来,算法应该:

  1. 在每个节点随机选择两列。
  2. 使用它们来拆分响应。(因为 没有缩放mincriterion=0
  3. 继续到下一个节点(总共 3 个由于maxdepth=2

不受列总数的影响。

感谢您指出我的方式的错误

4

0 回答 0