使用R中的包e1071创建svm模型.要使用该模型,我需要保存它并根据需要读取.包有write.svm
,但没有read.svm
.如果我使用
model <- svm(x, y) save(model, 'modelfile.rdata') M <- load('modelfile.rdata')
对象M
只包含"模型"这个词.
如何保存svm模型并稍后回读,以应用于一些新数据?
查看load
帮助文件中函数的返回值:
值:
A character vector of the names of objects created, invisibly.
所以"模型"确实是预期的价值M
.你的svm已恢复原来的名字,即model
.
如果您发现它有点令人困惑,load
不会返回加载的对象,而是使用保存它的名称恢复它,请考虑使用saveRDS
和readRDS
.
saveRDS(model, 'modelfile.rds') M <- readRDS('modelfile.rds')
并M
应包含您的svm模型.
我更喜欢saveRDS
,readRDS
因为有了他们,我知道我在工作区中创建了什么对象 - 请参阅Gavin Simpson的博客文章(在他的回答中链接)进行详细讨论.