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/