如何解决如何保存防风草模型拟合来自护林员?
# install.packages("tidymodels")
data(cells,package = "modeldata")
rf_mod <-
rand_forest(trees = 100) %>%
set_engine("ranger") %>%
set_mode("classification")
set.seed(123)
cell_split <- initial_split(cells %>% select(-case),strata = class)
cell_train <- training(cell_split)
rf_fit <-
rf_mod %>%
fit(class ~ .,data = cell_train)
> class(rf_fit)
[1] "_ranger" "model_fit"
如何将其保存到磁盘以便以后加载?
我尝试了dput
,但出现错误:
dput(rf_fit,file="rf_fit.R")
rf_fit2 <- dget("rf_fit.R")
Error in missing_arg() : Could not find function "missing_arg"
是的,model_fit.R
文件中有几个missing_arg
调用,这似乎是标记丢失的args的某种方式。但是,这只是一条副线。我不需要使用dput,我只想能够保存和加载模型。
解决方法
尝试使用此选项。使用save()
和load()
函数可以存储模型,然后再次对其进行修改。这里的代码:
data(cells,package = "modeldata")
rf_mod <-
rand_forest(trees = 100) %>%
set_engine("ranger") %>%
set_mode("classification")
set.seed(123)
cell_split <- initial_split(cells %>% select(-case),strata = class)
cell_train <- training(cell_split)
rf_fit <-
rf_mod %>%
fit(class ~ .,data = cell_train)
#Export option
save(rf_fit,file='Mymod.RData')
load('Mymod.RData')
另一种选择是使用saveRDS()
保存模型,然后使用readRDS()
加载模型,但需要在对象中进行分配:
#Export option 2
saveRDS(rf_fit,file = "Mymod.rds")
# Restore the object
rf_fit <- readRDS(file = "Mymod.rds")
,
如Duck所述,saveRDS()
和readRDS()
可用于保存/加载任何R对象。 save()
和load()
也可以用于同一目的。比较这两种方法的在线讨论/博客很多。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。