为随机森林回归模型设置ntree和mtry的值
machine-learning
r
random-forest
regression
20
0

我正在使用R包randomForest对某些生物学数据进行回归分析。我的训练数据大小是38772 X 201

我只是想知道-多少个树ntree和每个级别的mtry变量个数mtry什么mtry ?是否存在一个近似公式来查找此类参数值?

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

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

mtry的默认设置非常明智,因此实际上不需要对其进行处理。有一个用于优化此参数的功能tuneRF 。但是,请注意,这可能会导致偏差。

引导复制的数量没有优化。我通常从ntree=501开始,然后绘制随机森林对象。这将向您显示基于OOB错误的错误收敛。您希望有足够的树来稳定错误,但又不要过多,以至于无法过度关联集合,从而导致过度拟合。

需要注意的是:变量交互的稳定速度要比错误稳定的慢,因此,如果您有大量的自变量,则需要更多的重复。我将ntree保留为奇数,以便可以打破联系。

对于您问题的维度,我将从ntree=1501开始。我还建议您考虑一种已发布的变量选择方法,以减少自变量的数量。

收藏
评论

我使用的一个不错的技巧是,首先从预测变量数量的平方根开始,然后将该值插入“ mtry”。通常,随机森林中的调谐器功能会选择相同的值。

收藏
评论

最简洁的答案是不。

当然, randomForest函数具有ntreemtry默认值。 mtry的默认值mtry是(但并非总是)明智的,而通常人们会希望将ntree的默认值增加500。

通常, ntree的“正确”值不是什么大问题,因为经过一点点修补,很明显的是,在经过一定数量的树之后,来自模型的预测不会发生太大变化。

您可以花费很多时间(阅读:浪费)来修改诸如mtry (以及sampsizemaxnodesnodesize等)之类的东西,可能会有所裨益,但以我的经验来说,并不是很多。但是,每个数据集都会有所不同。有时您可能会看到很大的差异,有时根本看不到。

插入符号包有一个非常普遍的功能, train ,让你做一个简单的网格搜索过的参数值像mtry为各种各样的模型。我唯一的警告是,使用相当大的数据集执行此操作可能会很快消耗时间,因此请当心。

另外,我以某种方式忘记了ranfomForest包本身具有tuneRF函数,该函数专门用于搜索mtry的“最优”值。

收藏
评论

本文能帮上忙吗? 限制随机森林中的树木数量

抽象。本文的目的是提出一种简单的过程,即先验地确定要组合的分类器的最小数量,以便获得与使用较大集合的组合获得的预测精度水平相似的预测精度水平。该程序基于McNemar非参数显着性检验。先验地知道分类器集合的最小大小可以提供最佳的预测精度,这可以节省时间和存储成本,尤其是对于大型数据库和实时应用而言。在这里,我们将此程序应用于具有C4.5决策树的四个多重分类器系统(Breiman的Bagging,Ho的Random子空间,它们的组合,我们标记为“ Bagfs”和Breiman的Random forests)和五个大型基准数据库。值得注意的是,除了决策树以外,所建议的过程还可以轻松扩展到其他基础学习算法。实验结果表明,可以显着限制树木的数量。我们还表明,从一种分类器组合方法到另一种分类器组合方法,获得最佳预测精度所需的最小树数可能有所不同。

他们从未使用超过200棵树。

在此处输入图片说明

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号