library(randomForest)
rf.model <- randomForest(WIN ~ ., data = learn)

我想拟合一个随机森林模型,但出现此错误:
Error in na.fail.default(list(WIN = c(2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L,  :
missing values in object

我有16个数字属性的数据框学习,而WIN是0级1的因子。

最佳答案

我对这个问题的最初反应是,它没有进行太多的研究工作,因为“每个人”都知道随机森林不会处理预测变量中的缺失值。但是在检查?randomForest时,我必须承认它对此可能更加明确。

(尽管在文档中链接到的Breiman的PDF确实明确表示根本根本不处理缺少的值。)

我可以看到的官方文档中唯一明显的线索是na.action参数的默认值为na.fail,对于新用户来说可能太神秘了。

无论如何,如果您的预测变量缺少值,则(基本上)有两个选择:

  • 使用其他工具(rpart很好地处理缺失值。)
  • 估算缺失值

  • 毫不奇怪,randomForest包具有执行此功能的函数rfImpute?rfImpute上的文档提供了其用法的基本示例。

    如果只有少数案例缺少值,则您也可以尝试设置na.action = na.omit以简单地删除这些案例。

    当然,这个答案有点猜测您的问题确实只是缺少值。

    关于r - 如何在R中使用缺少值的随机森林?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8370455/

    10-12 17:44