В настоящее время я использую LIBLINEAR. Я полностью удовлетворен его производительностью, но он написан на чистом C и интерфейс не удобен. Я должен написать обертки для всего и исправлять код для последовательного использования в среде C ++. Существуют ли другие библиотеки, которые работают так же быстро, как LIBLINEAR, но написаны на C ++ и предоставляют более простой интерфейс?
Лучшее, что вы найдете LIBLINEAR по-моему. Альтернативы SVM ^ PERF, и Пегасос (едва документированный). Все они имеют очень похожие интерфейсы. Вы не найдете библиотеку с аналогичной производительностью с интерфейсом C ++. Не потому, что C ++ плох, а потому, что эти библиотеки — самые современные.
Что именно вам не нравится в интерфейсе? Это очень интуитивно понятно и не имеет никаких накладных расходов.
В общем, здесь представлен довольно полный список библиотек 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
как написано в стиле С ++ ОО, и имеет svmlight
под капотом