【发布时间】:2018-03-03 09:45:33
【问题描述】:
我正在使用 R 包 ranger 拟合随机森林来对光栅图像进行分类。预测函数会产生错误,下面我提供一个可重现的示例。
library(raster)
library(nnet)
library(ranger)
data(iris)
# put iris data into raster
r<-list()
for(i in 1:4){
r[[i]]<-raster(nrows=10, ncols=15)
r[[i]][]<-iris[,i]
}
r<-stack(r)
names(r)<-names(iris)[1:4]
# multinom (an example that works)
nn.model <- multinom(Species ~ ., data=iris, trace=F)
nn.pred<-predict(r,nn.model)
# ranger (doesn't work)
ranger.model<-ranger(Species ~ ., data=iris)
ranger.pred<-predict(r,ranger.model)
给出的错误是
v[cells, ] 中的错误
虽然我的真实数据的错误是
p[-naind, ]
我唯一想到的是 ranger.prediction 对象除了感兴趣的预测之外还包含几个元素。无论如何,如何使用 ranger 在栅格堆栈上进行预测?
【问题讨论】:
-
我认为如果您在github repository of the ranger package 中打开问题,您可以获得问题的答案。
-
游侠的
predict期待数据(见?predict.ranger)作为data.frame或gwaa.data,也许这就是问题所在?