lizarisk
lizarisk

Reputation: 7820

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

I'm currently using LIBLINEAR. I am fully satisfied by it's performance, but it's written in pure C and the interface is not convenient. I have to write wrappers for everything and patch the code to use in consistently in a C++ environment. Is there any other libraries that are as fast as LIBLINEAR but are written in C++ and provide easier interface?

Upvotes: 1

Views: 1021

Answers (2)

lejlot
lejlot

Reputation: 66775

In general, there is quite comprehensive list of SVM libraries located here:

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

while it was previously stated linearsvm is the best solution, but it is quite "non c++" style. Yet there are dozens libraries, which are written in "pure" c++ and use linearsvm (or svmlight) under the hood, combining the best of both worlds.

In particular, if writting your own wrapper is non an option (or you need such a solution "here and now") I would also suggest TinySVM besides already mentioned linearsvm and svmlight:

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

as it is written in the c++ OO style, and has svmlight under the hood

Upvotes: 0

Marc Claesen
Marc Claesen

Reputation: 17026

The best you will find is LIBLINEAR in my opinion. Alternatives are SVM^PERF, and Pegasos (barely documented). They all have very similar interfaces. You won't find a library with similar performance with a C++ interface. Not because C++ is bad, but because these libraries are the state-of-the-art.

What exactly do you dislike about the interface? It's very intuitive and has hardly any overhead.

Upvotes: 3

Related Questions