将 scikit-learn SVM 模型转换为 LibSVM

Sla*_*ast 5 svm libsvm scikit-learn

我使用 scikit-learn 训练了超过半 TB 的数据的 SVM (svc)。该模型工作正常,我需要将其移植到 C,但我不想从头开始重新训练 SVM,因为这对我来说花费的时间太长。有没有办法轻松导出 scikit-learn 生成的模型并将其导入到 LibSVM 中?scikit-learn 内部使用 LibSVM,所以理论上它应该是可能的,但我在文档中找不到任何内容。有什么建议吗?

Fre*_*Foo 2

有没有办法轻松导出 scikit-learn 生成的模型并将其导入到 LibSVM 中?

不会。LIBSVM 的 scikit-learn 版本已被严重修改以适应 Python 环境,并且模型存储为 NumPy/SciPy 数据结构。

最好的办法是研究SVM 决策函数并用 C 语言重新实现它。支持向量可以从SVC对象中以 NumPy 数组的形式获得,这些数组很容易转换为 C 数组。