如何使randomForest模型更小?

时间:2012-12-03 20:22:32

标签: r artificial-intelligence data-mining random-forest

我一直在研究700个行数据中的randomForest模型(41个特征)。这是一个示例电话:

myModel< - randomForest(RESPONSE~。,data = mydata,ntree = 50,maxnodes = 30)

我认为只有50棵树和30个终端节点,“myModel”的内存占用量会很小。但它在转储文件中是65兆。该对象似乎持有培训过程中的各种预测,实际和投票数据。

如果我只想要森林怎么办?我想要一个小的转储文件,我可以稍后加载,以便快速做出预测。我觉得森林本身不应该那么大......

任何人都知道如何剥夺这个傻逼到我可以做出预测的事情吗?

2 个答案:

答案 0 :(得分:1)

试图摆脱将评论作为评论发布的习惯......

?randomForest建议不要使用带有大量变量的公式接口...如果不使用公式接口,结果会有什么不同吗? ?randomForest Value 部分还告诉您如何关闭部分输出(重要性矩阵,整个森林,邻近矩阵等)。

例如:

myModel <- randomForest(mydata[,!grepl("RESPONSE",names(mydata))],
  mydata$RESPONSE, ntree=50, maxnodes=30, importance=FALSE,
  localImp=FALSE, keep.forest=FALSE, proximity=FALSE, keep.inbag=FALSE)

答案 1 :(得分:1)

您可以使用R中的tuneRF函数来了解树的数量并缩小尺寸。

tuneRF(data_train, data_train$Response, stepFactor = 1.2, improve = 0.01, plot = T, trace = T)

使用?tuneRF了解有关内部变量的更多信息。