2017-05-04 61 views
0

我试图运行一个cforestparty包),其数据集包含约70k个观察值和〜105个变量,其中一个是响应变量(二进制)。Cforest计算成本超出内存限制

cforest的具体信息是mtry = 10, ntree = 50, maxsurrogate = 3

问题是,构建cforest(2小时50分钟)需要很长时间,例如ranger例如对于500棵树和mtry=10只需要6分钟。我知道每个过程背后的方法是完全不同的,但这种计算成本是否正常?我是否在调整参数时出错?

建设cforest后,我尝试在〜30K观测数据集与功能predict()来评价它,我收到以下错误消息

Reached total allocation of 8067Mb: see help(memory.size) 

我工作在台式机上使用Windows 7中的技术特点是:

  • 处理器:Intel Core i5-5300U CPU @ 2.30GHz 2.30GHz
  • 安装的内存(RAM):8.00国标(GB 7.88可用)
  • 系统类型:64位操作系统

非常感谢您的宝贵时间。

回答

1

使用派对可以单独构建树并稍后将它们组合起来,但这很乏味。 R-forge的partykit devel版本提供了ctree/cforest的重新实现,旨在提高内存效率。

托斯滕

+0

非常感谢您的回复Hothorn先生,我有运行与'partykit'的'cforest'一些麻烦,我有一个奇怪的错误消息'Error中,如果(COV <。机$ double.eps)return(c(-Inf,-Inf)): 缺少值,其中TRUE/FALSE需要',我猜这是因为我的一些预测变量的某些值非常接近零。 'party'包没有发生,但我会解决这个问题,然后在这里发布结果。 –