我目前正在使用LIBLINEAR。我对它的性能完全满意,但它是用纯C编写的,界面不方便。我必须为所有内容编写包装器并修补代码以在C ++环境中一致地使用。是否有任何其他库与LIBLINEAR一样快但是用C ++编写并提供更简单的接口?
答案 0 :(得分:3)
我认为最好的是LIBLINEAR。替代品是SVM^PERF和Pegasos(几乎没有记录)。它们都有非常相似的接口。您将找不到具有与C ++接口类似性能的库。不是因为C ++不好,而是因为这些库是最先进的。
您对界面究竟有什么不满?它非常直观,几乎没有任何开销。
答案 1 :(得分:0)
一般来说,这里有相当全面的SVM库列表:
http://www.svms.org/software.html 和 http://www.kernel-machines.org/software
虽然之前已经说明linearsvm
是最好的解决方案,但它非常“非c ++”风格。然而,有几十个库,用“纯粹的”c ++编写,并使用linearsvm
(或svmlight
),结合两者的优点。
特别是,如果写自己的包装器不是一个选项(或者你现在需要这样的解决方案)我还建议 TinySVM 除了已经提到的linearsvm
和svmlight
:
http://chasen.org/~taku/software/TinySVM
因为它是用c ++ OO风格编写的,并且在引擎盖下有svmlight