LIBSVM -- A Library for Support Vector Machines

From Cohen Courses
Jump to navigationJump to search

LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification. It is actively patched and has interfaces in many different language including Java, Matlab, C# etc. [1]

Since version 2.8, it implements an SMO-type algorithm proposed in this paper: R.-E. Fan, P.-H. Chen, and C.-J. Lin. Working set selection using second order information for training SVM. Journal of Machine Learning Research 6, 1889-1918, 2005.

Main features of LIBSVM include

  • Different SVM formulations
  • Efficient multi-class classification
  • Cross validation for model selection
  • Probability estimates
  • Weighted SVM for unbalanced data
  • Both C++ and Java sources
  • GUI demonstrating SVM classification and regression
  • Python, R (also Splus), MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell and LabVIEW interfaces. C# .NET code is available. It's also included in some data mining environments: RapidMiner and PCP.
  • Automatic model selection which can generate contour of cross valiation accuracy.

Its website maintains a list of packages for download and includes a practical guide for beginner to start with [2].