在 R 中使用随机森林预测的不同结果

Posted

技术标签:

【中文标题】在 R 中使用随机森林预测的不同结果【英文标题】:Different results using Random Forest prediction in R 【发布时间】:2017-06-09 07:58:02 【问题描述】:

当我在我的测试数据上运行随机森林模型时,对于相同的数据集 + 模型,我会得到不同的结果。

以下是您可以看到第一列差异的结果:

> table((predict(rfModelsL[[1]],newdata = a)) ,a$earlyR)

        FALSE TRUE
 FALSE    14    7
 TRUE     13   66

> table((predict(rfModelsL[[1]],newdata = a)) ,a$earlyR)

        FALSE TRUE
 FALSE    15    7
 TRUE     12   66

虽然差异非常小,但我试图了解造成这种情况的原因。我猜predict 有“灵活”的分类阈值,尽管我在文档中找不到;我对吗?

提前谢谢你

【问题讨论】:

请仔细阅读软件包randomForest 的文档。它完美地解释了为什么这是记录在案的行为。您的 randomForest 是一组树,每次运行模型时,您都会得到一组略有不同的树。这与预测函数无关,这只是随机森林的工作方式。其次,关于统计技术的问题属于 stats.stackexchange.com,而不是 ***。 【参考方案1】:

我假设您没有在此处重新调整模型,但产生这些结果的只是 predict 调用。答案大概是这样的,来自?predict.randomForest

任何关系都是随机断开的,因此如果不希望出现这种情况,请通过以下方式避免它 在 randomForest() 中使用奇数 ntree

【讨论】:

以上是关于在 R 中使用随机森林预测的不同结果的主要内容,如果未能解决你的问题,请参考以下文章

R:如何使用随机森林来预测使用字符串变量的二进制结果?

保存的随机森林模型在同一数据集上产生不同的结果

机器学习:R语言实现随机森林

R 和 Python 中随机森林回归的不同结果

在 R 中使用随机森林进行时间序列预测

R - 具有两个结果变量的随机森林