How to save machine learning models in R

I use R to create some basic machine learning models. I use klar, caret and e1071 packages. Here is the code that generates my model

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



x = iris[,-5]

y = iris$Species

model = train(x,y,'nb',trControl = trainControl(method='cv',number=10))

I was wondering if it is possible to save this model somewhere and refer to it later? For example, in python we can use the pickle package to

nbClassifier = nltk.NaiveBayesClassifier.train(featureSets)

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

pickle.dump(nbClassifier, saveNBClassifier)

saveNBClassifier.close()

and later

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

classifier = pickle.load(open_file)

open_file.close()

Is something like this possible in R?

+4
source share
2 answers

If you want to save only one object, you can also use:

saveRDS(model, file = "model.rds")

Subsequently you can use

loadedModel <- readRDS(model.rds)

ReadRDS () does not load the object because it was named when it was saved, but can be loaded into a new name.

save() saveRDS() .

+5

, :

save(model, file="model.Rda")

:

load("model.Rda")

+2

All Articles