【发布时间】:2016-08-10 01:01:37
【问题描述】:
运行 RandomForest 时,有没有办法在运行前使用输入数据中的行数和列数以及森林的选项(树和尝试)来计算森林的大小(以字节为单位)?
我遇到的具体问题是在运行最终的 RandomForest(而不是探索性的)时,我想要一个尽可能健壮的模型。我想在不达到内存限制的情况下运行到内存限制。现在,我只是在试错,但我正在寻找更精确的方法。
【问题讨论】:
标签: r random-forest
运行 RandomForest 时,有没有办法在运行前使用输入数据中的行数和列数以及森林的选项(树和尝试)来计算森林的大小(以字节为单位)?
我遇到的具体问题是在运行最终的 RandomForest(而不是探索性的)时,我想要一个尽可能健壮的模型。我想在不达到内存限制的情况下运行到内存限制。现在,我只是在试错,但我正在寻找更精确的方法。
【问题讨论】:
标签: r random-forest
我想跑到我的内存限制而不达到它。
你为什么要这样做?与其将资源推到极限,不如只使用构建良好随机森林模型所需的任何资源。根据我的经验,我在运行随机森林时很少遇到内存限制问题。这是因为我在实际数据集的一个子集上进行训练,该子集的大小合理。
randomForest 函数(来自randomForest 包)有两个参数会影响森林的大小。第一个是ntree,这是建造森林时要使用的树的数量。树越少,模型的大小就越小。另一个参数是nodesize,它控制将多少个观测值放入每棵树的每个叶节点。 越小节点的大小,每棵树的分裂就越多,森林模型就越大。
您应该试验这些参数,并在一个合理大小的训练集上进行训练。一个好的模型的衡量标准不是你离最大化内存限制有多近,而是你构建的模型有多健壮。
【讨论】: