我在加载随机的森林模型并将其应用到具有以下功能的栅格时遇到了问题 raster::predict
.
通常情况下,当我在R会话中创建一个随机森林模型,键入它的名称并按下回车键,我收到以下打印输出。
> rf_model
Call:
randomForest(formula = AGB_mean ~ B1_med + B2_med + B4_med + B5_med + B6_med + B7_med + B1_sd + B2_sd + B4_sd + B5_sd + B6_sd + B7_sd + NDVI + EVI + EVI2, data = all.training, importance = TRUE, na.action = na.roughfix)
Type of random forest: regression
Number of trees: 500
No. of variables tried at each split: 5
Mean of squared residuals: 4866.287
% Var explained: 52.48
当我把这个会话中的模型应用到一个栅格上,使用 predict
,我可以成功地进行预测。
而当我使用readRDS加载一个已保存的随机森林模型,并输入模型名称时,就像这样。
> rf_model <- readRDS('model.rds')
> rf_model
我收到的是 充分 打印出 rf_model 中的所有信息(即 rf_model$call, rf_model$type... rf_model$terms),当我尝试进行预测时,我收到了以下错误。
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "c('randomForest.formula', 'randomForest')"
我在正确加载随机森林对象方面是否有遗漏?
例如,我在R会话中创建了一个随机森林模型,输入它的名字并按下回车键,我就会收到...。
library(randomForest)
rf_model <- randomForest(Species ~ .,data=iris)
saveRDS(rf_model,'model.rds')
quit()
如果我再次启动R,我需要加载库。
rf_model <- readRDS('model.rds')
predict(rf_model)
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "c('randomForest.formula', 'randomForest')"
library(randomForest)
head(predict(rf_model))
1 2 3 4 5 6
setosa setosa setosa setosa setosa setosa
Levels: setosa versicolor virginica