【问题标题】:R - random forest not properly loadingR - 随机森林未正确加载
【发布时间】:2020-08-30 11:55:17
【问题描述】:

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

通常,当我在 R 会话中创建随机森林模型时,输入其名称并按 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 将此会话中模型应用于栅格时,我可以做出成功的预测。

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

在正确加载随机森林对象时我在这里缺少什么吗?

【问题讨论】:

  • 你为predict函数使用了什么代码,在你的问题中也显示出来。
  • 嗨@GeoCat333,我阅读了更新后的问题..你为什么在randomForest对象上使用raster::predict?

标签: r random-forest raster


【解决方案1】:

例如:

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

【讨论】:

    【解决方案2】:

    您需要导入随机森林库,以便 predict 对象的 predict 方法可用,如下所示:

    library(randomForest)
    rf_model <- readRDS('model.rds')
    predict(rf_model)
    

    即使您在 RDS 文件中保存了 randomForest 实例,与 randomForest 实例关联的函数方法也不会保存在该 RDS 文件中,需要从库本身加载。

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 2019-05-04
      • 1970-01-01
      • 2017-10-23
      • 2015-02-26
      • 2021-10-12
      • 2016-06-24
      • 1970-01-01
      • 2015-04-24
      相关资源
      最近更新 更多