ben*_*ier 5 r machine-learning missing-data random-forest
我正在使用randomForest包来使用标准流程对二进制结果变量进行分类.我首先必须强制更改所有变量以确保它们是数字,然后用于na.roughfix处理缺失值:
data <- read.csv("data.csv")
data <- lapply(data, as.numeric)
data <- na.roughfix(data)
Run Code Online (Sandbox Code Playgroud)
然后我运行模型:
model <- randomForest(as.factor(outcome) ~ V1 + V2...+ VN,
data=data,
importance=TRUE,
ntree=500)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
na.fail.default中的错误(list(as.factor(outcome)= c(2L,2L,1L,:对象中缺少值)
na.roughfix估算应该已经解决了这个问题(我之前已经开始工作,这里的研究表明它应该工作),对吗?有什么建议?
你的lapply生产线并没有达到你的预期.结果不再是数据框,只是一个列表.其结果是,该data.frame法na.roughfix没有派遣,只是刚刚返回它的第一个参数,如果它不是原子(其中列表显然不是)的默认方法.
将每列转换为数字但保留数据框属性的有点偷偷摸摸的方法是:
data[] <- lapply(data,as.numeric)
Run Code Online (Sandbox Code Playgroud)
或者,您可以简单地将其转换回来as.data.frame.
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |