为随机森林回归模型设置ntree和mtry的值

DOS*_*ter 38 statistics regression r machine-learning random-forest

我正在使用R包randomForest来对一些生物数据进行回归.我的训练数据大小是38772 X 201.

我只是想知道---树木ntree的数量和每个级别的变量数量有什么好处mtry?是否有一个近似的公式来找到这样的参数值?

我的输入数据中的每一行都是一个代表氨基酸序列的200个字符,我想建立一个回归模型来使用这样的序列来预测蛋白质之间的距离.

Jef*_*ans 36

mtry的默认设置非常合理,因此不需要使用它.有一个tuneRF优化此参数的功能.但是,请注意它可能会导致偏见.

没有针对bootstrap重复次数的优化.我经常开始ntree=501然后绘制随机森林对象.这将显示基于OOB错误的错误收敛.你需要足够的树来稳定错误,但不要太多,以至于你过度关联整体,这会导致过度拟合.

以下是警告:变量交互以比错误更慢的速率稳定,因此,如果您有大量独立变量,则需要更多重复.我会保持ntree一个奇数,所以可以打破关系.

对于你问题的维度,我会开始ntree=1501.我还建议查看一个已发布的变量选择方法,以减少自变量的数量.


jor*_*ran 18

最简洁的答案是不.

randomForest当然,函数的两个ntree和都有默认值mtry.默认值mtry通常(但不总是)合理,而一般人们会想要ntree从它的默认值500 增加相当多.

ntree一般而言,"正确"值并不是一个值得关注的问题,因为通过一点点的修补就可以明显看出模型的预测在一定数量的树之后不会发生太大的变化.

你可以花(读:浪费)大量的时间之类的东西修修补补mtry(和sampsizemaxnodesnodesize等),可能是一些好处,但我的经验也不是很多.但是,每个数据集都不同.有时您可能会看到很大的差异,有时甚至根本没有.

插入符号包有一个非常普遍的功能train,可以让你做了类似的参数值的简单网格搜索mtry的各种各样的机型.我唯一需要注意的是,使用相当大的数据集进行此操作可能会相当快地耗费时间,因此请注意这一点.

另外,不知怎的,我忘记了ranfomForest包本身有一个tuneRF专门用于搜索"最佳"值的函数mtry.

  • 仅供参考,我与 Adele Cutler 就 RF 参数的优化进行了交谈,她指出“tuneRF”和“train”使用的逐步程序会导致偏差。此外,正如我在帖子中所指出的,通过过度关联集成可能会过度拟合 RF。因此,在误差收敛、变量交互和避免过度拟合之间,引导复制的数量存在平衡。 (2认同)

bas*_*sta 5

这篇论文能帮忙吗? 限制随机森林中的树木数量

抽象.本文的目的是提出一种简单的过程,即先验确定要组合的最小数量的分类器,以便获得类似于用较大集合的组合获得的预测准确度水平.该程序基于McNemar非参数检验的重要性.先验地知道分类器集合的最小尺寸给出最佳预测精度,构成时间和存储器成本的增益,尤其是对于大型数据库和实时应用.在这里,我们将此程序应用于具有C4.5决策树的四个多分类器系统(Breiman的Bagging,Ho的随机子空间,它们的组合我们标记为'Bagfs'和Breiman的随机森林)和五个大型基准数据库.值得注意的是,所提出的过程也可以容易地扩展到其他基本学习算法而不是决策树.实验结果表明,可以显着限制树木的数量.我们还表明,获得最佳预测精度所需的最小树数可能因分类器组合方法而异

他们从不使用超过200棵树.

在此输入图像描述