Reputation: 7820
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
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
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