我正在运行我的第一个随机森林算法cforest()
,使用party package
. 每次我运行 cforest 算法时,RStudio 在发送错误消息后崩溃,"Error: cannot allocate vector of size 927 Kb"
这是一个非常小的向量...
我尝试使用控件,参数非常低以达到其底部,但即使controls = cforest_unbiased(ntree=2, mtry=3)
它仍然崩溃并显示相同的消息。
这是完整的代码行:
forest.result.balance$model.1$forest <- cforest(formula = quotation ~ minute + temp + humidity, data=undersamp.train, controls = cforest_unbiased(ntree=2, mtry=3))
为了让您更好地理解发生了什么,我的二进制因变量取值0
并且1
长度为 120k,并且我有 3 个连续的自变量。此外,我在计算期间跟踪了对内存使用的影响,并且在崩溃之前它达到了 RStudio 的 5Gb。
所以,你知道我该如何解决这个问题,还向我解释发生了什么,因为ctree
一个接一个地运行几个是可以的,但是cforest
由两棵树组成的一个就不行。
编辑 :
我通过将训练样本减少 50% 找到了出路,但现在我遇到了同样的问题,在这种情况下,预测在内存使用方面是广泛的,而如果我是正确的,它应该只应用分类规则。这是一个补充问题,但没有回答上一个问题,因为我认为减少训练样本不应该是答案......
编辑 2:
下面是关于我的数据的补充信息:
str(undersamp.train)
#
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 68226 obs. of 6 variables:
$ quotation: Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ minute : int 519 922 762 670 793 732 611 848 549 1233 ...
$ weekday : int 2 4 0 0 5 0 2 4 3 3 ...
$ temp : num 10.23 5.84 13.92 -7.48 6 ...
$ humidity : num 74.8 95.7 81.8 89.1 98 ...
$ pressure : num 1027 1023 1017 983 1020 ...