如何在R中保存机器学习模型

Abt*_*Pst 4 python r machine-learning

我正在使用R来创建一些基本的机器学习模型.我使用klar,插入符号和e1071包.这是生成我的模型的代码

library(e1071)
library(klaR)
library(caret)



x = iris[,-5]

y = iris$Species

model = train(x,y,'nb',trControl = trainControl(method='cv',number=10))
Run Code Online (Sandbox Code Playgroud)

我想知道,有可能在某个地方保存这个模型并在以后引用它吗?例如,在python中我们可以使用pickle包来做

nbClassifier = nltk.NaiveBayesClassifier.train(featureSets)

saveNBClassifier = open("abtNBClassifier.pickle","wb")

pickle.dump(nbClassifier, saveNBClassifier)

saveNBClassifier.close()
Run Code Online (Sandbox Code Playgroud)

然后

open_file = open("abtNBClassifier.pickle", "rb")

classifier = pickle.load(open_file)

open_file.close()
Run Code Online (Sandbox Code Playgroud)

在R中有类似的可能吗?

phi*_*ver 6

如果您只想保存单个对象,还可以使用:

saveRDS(model, file = "model.rds")
Run Code Online (Sandbox Code Playgroud)

之后你可以使用

loadedModel <- readRDS(model.rds)
Run Code Online (Sandbox Code Playgroud)

ReadRDS()不会加载保存时命名的对象,但可以以新名称加载.

有关save()和saveRDS()之间区别的更多信息,请参阅此链接