R - 随机森林未正确加载

标签 r random-forest raster

我在加载随机森林模型并将其应用到带有 raster::predict 的栅格时遇到问题.

通常,当我在 R session 中创建随机森林模型时,输入其名称并按 Enter 键,我会收到以下打印输出:

> 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 将此 session 中模型应用于栅格时,我可以做出成功的预测。

当我使用 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')"

在正确加载随机森林对象时,我在这里遗漏了什么吗?

最佳答案

例如:

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

关于R - 随机森林未正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61789041/

相关文章:

R 通过与其他数据框合并,将值添加到数据框中的现有列

r - 近似 R 中二项式随机变量之和的分布

java - H2O 模型部署到 .Net 中

R 中具有大量特征的随机森林

r - 如何在 renderPlotly (Shiny r) 中指定详细布局

R : How to split the accumulated value to missing values in data frame?

r中的随机森林模型

performance - 填充多边形 : Performance of Winding Rule vs Even Odd Rule

r - 在 R 中将 2 个或更多栅格堆栈合并为 1 个栅格堆栈

r - 将栅格加载为矩阵