Как сохранить лес, созданный в R randomForest, для будущего использования - PullRequest
0 голосов
/ 25 сентября 2019

Есть ли способ сохранить лес, созданный randomForest в R, для будущего использования?Это связано с тем, что в производственной среде можно было бы снова и снова использовать одну и ту же модель (в данном случае лес) для целей прогнозирования.

Используя приведенные ниже коды в качестве примера, если testdata сейчас недоступен для прогнозирования или в будущем будет доступен новый набор testdata, повторный запуск randomForest() создаст другой лес (как я понимаю).

Любой комментарий высоко ценится.Спасибо.

library(randomForest)
data<-data.frame(flag=c(0,1,0,1,0,1,0,0,0,0),
                 v1 = rnorm(10, 3, 1),
                 v2 = rnorm(10, 3, 1),
                 v3 = rnorm(10, 3, 1))

data$flag=as.factor(data$flag)

rf<-randomForest(flag ~ ., data=data)

pred(rf, testdata)  #testdata not yet available or a new set will be available in the future

1 Ответ

0 голосов
/ 25 сентября 2019

Вы можете сохранить объекты в R, используя saveRDS, затем загрузить их с помощью readRDS

saveRDS(rf, "mymodel.rds")
rf2 <- readRDS("mymodel.rds")

Затем в новом сеансе

library(randomForest)
data<-data.frame(flag=c(0,1,0,1,0,1,0,0,0,0),
                 v1 = rnorm(10, 3, 1),
                 v2 = rnorm(10, 3, 1),
                 v3 = rnorm(10, 3, 1))

data$flag=as.factor(data$flag)

rf <- readRDS('mymodel.rds')
predict(rf, data)
...