是否有一个具有良好C++接口的快速线性SVM库

Is there a fast linear SVM library with a good C++ interface?

本文关键字:线性 SVM 接口 C++ 有一个 是否      更新时间:2023-10-16

我目前正在使用LIBLINER。我对它的性能非常满意,但它是用纯C编写的,接口不方便。我必须为所有内容编写包装器,并修补代码以在C++环境中一致使用。有没有其他库和LIBLINER一样快,但都是用C++编写的,并且提供了更简单的接口?

在我看来,你会发现最好的是LIBLINER。替代方案是SVM、PERF和Pegasos(几乎没有记录)。它们都有非常相似的接口。您将找不到具有类似C++接口性能的库。不是因为C++不好,而是因为这些库是最先进的。

你到底不喜欢这个界面的什么?它非常直观,几乎没有任何开销。

通常,这里有一个相当全面的SVM库列表:

http://www.svms.org/software.html和http://www.kernel-machines.org/software

虽然之前有人说linearsvm是最好的解决方案,但它是相当"非c++"的风格。然而,有几十个库是用"纯"c++编写的,并在后台使用linearsvm(或svmlight),将两者的优点结合在一起。

特别是,如果编写自己的包装器不是一种选择(或者您"此时此地"需要这样的解决方案),除了已经提到的linearsvmsvmlight:之外,我还建议TinySVM

http://chasen.org/~taku/software/TinySVM

因为它是用c++OO风格编写的,并且在后台有svmlight