如何在 R 中使用 libsvm 加载 SVM 模型拟合/集成

Posted

技术标签:

【中文标题】如何在 R 中使用 libsvm 加载 SVM 模型拟合/集成【英文标题】:How to load SVM model fitted/ensembles with libsvm in R 【发布时间】:2013-09-07 02:51:16 【问题描述】:

我如何加载一个使用ensembleSVM 启用的 svm 模型,该模型引用了here?

我可以使用 (e1071) 将我在 R 中的拟合模型导出为“libsvm”格式

write.svm(model1, svm.file = "model1.svm")
write.svm(model2, svm.file = "model2.svm")

然后构建我的合奏 (doc)

merge-models -model1 model1.svm -model2 model2.svm -o model.ENSABLE.svm

输出结果为“libsvm”文件格式。

现在如何将集成加载回 R 中,然后用它预测新数据?

【问题讨论】:

【参考方案1】:

我是 EnsembleSVM 包的作者。不幸的是,该软件包还没有 R 接口。目前,您唯一的选择是通过命令行对测试数据调用esvm-predict,然后加载包含预测的文件(使用-o 标志设置)。请注意,合奏不是精确的 libsvm 格式。即使看起来很相似,您也无法使用 libsvm 工具读取集成模型。

您可以使用 R 的 system() 通过命令行调用 esvm-predict。值得一提的是,目前正在开发 R、MATLAB 和 Python 的接口。我们希望在今年年底前准备好它们以及其他一些好东西。

【讨论】:

感谢您的回答和重要提示“请注意,集成不是完全的 libsvm 格式。即使看起来相似,您也无法使用 libsvm 工具读取集成模型。”我现在称它为 trouth R 的 system()。 很高兴你喜欢它,希望你能取得优异的成绩。请随时与我们联系以获取有关该软件包的问题/建议/批评!

以上是关于如何在 R 中使用 libsvm 加载 SVM 模型拟合/集成的主要内容,如果未能解决你的问题,请参考以下文章

R:在 e1071 包中是不是有比 libsvm 替代的 SVM 实现? [关闭]

如何在 R 中使用 libSVM(包 e1071)获得概率?

如何在 R 中使用 LibSVM 执行 10 折交叉验证?

R e1071 预测与 libsvm 不同

如何在 LibSVM 中使用“svm_toy”小程序示例?

加载模型上的 Java libSVM NullPointerException