# Snippet_249
# --------------------------------------
# How to save trained model in R
# --------------------------------------
# load libraries
library(caret)
library(mlbench)
library(randomForest)
# load dataset
data(Sonar)
# create 80%/20% for training and validation datasets
validation_index <- createDataPartition(Sonar$Class, p=0.67, list=FALSE)
validation <- Sonar[-validation_index,]
training <- Sonar[validation_index,]
# create final standalone model using all training data
final_model <- randomForest(Class~., training, mtry=2, ntree=2000)
# save the model to disk
getwd()
saveRDS(final_model, "./final_model.rds")
# later ... ... ... ... ...
# load the model
getwd()
saved_model <- readRDS("./final_model.rds")
print(saved_model)
plot(saved_model)
# make a predictions on "new data" using the final model
final_predictions <- predict(saved_model, validation[,1:60])
confusionMatrix(final_predictions, validation$Class)