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.
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. You can also find a pseudo code there. (how to cite LIBSVM)
Our goal is to help users from other fields to easily use SVM as a tool. LIBSVM provides a simple interface where users can easily link it with their own programs. Main features of LIBSVM include
The package includes the source code of the library in C++ and Java, and a simple program for scaling training data. A README file with detailed explanation is provided. For MS Windows users, there is a subdirectory in the zip file containing binary executable files. Precompiled Java class archive is also included.
Please read the COPYRIGHT notice before using LIBSVM.
Examples of options: -s 0 -c 10 -t 1 -g 1 -r 1 -d 3
Classify a binary data with polynomial kernel (u‘v+1)^3 and C = 10
options:-s svm_type : set type of SVM (default 0)0 -- C-SVC1 -- nu-SVC2 -- one-class SVM3 -- epsilon-SVR4 -- nu-SVR-t kernel_type : set type of kernel function (default 2)0 -- linear: u‘*v1 -- polynomial: (gamma*u‘*v + coef0)^degree2 -- radial basis function: exp(-gamma*|u-v|^2)3 -- sigmoid: tanh(gamma*u‘*v + coef0)-d degree : set degree in kernel function (default 3)-g gamma : set gamma in kernel function (default 1/k)-r coef0 : set coef0 in kernel function (default 0)-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)-m cachesize : set cache memory size in MB (default 100)-e epsilon : set tolerance of termination criterion (default 0.001)-h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1)-b probability_estimates: whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0)-wi weight: set the parameter C of class i to weight*C, for C-SVC (default 1)The k in the -g option means the number of attributes in the input data.option -v randomly splits the data into n parts and calculates crossvalidation accuracy/mean squared error on them.
To install this tool, please read the README file in the package. There are Windows, X, and Java versions in the package.
References of LIBSVM:
Language | Description | Maintainers and Their Affiliation | Supported LIBSVM version | Link |
---|---|---|---|---|
MATLAB | A simple MATLAB interface | LIBSVM authors at National Taiwan University. | 2.84 | Zip |
MATLAB | An old version (no longer available) | Junshui Ma and Stanley Ahalt at Ohio State University | 2.33 | Dead Link |
MATLAB | Another version. (libsvm 2.8 used, but multiclass and sparse input not supported yet) | Michael Vogt from Darmstadt University of Technology, Germany | 2.8 (partial) | WWW |
R | Please install by typing install.packages(‘e1071‘) at R command line prompt. (document and examples). | David Meyer at the Wirtschaftsuniversität Wien (Vienna University of Economics and Business Administration) | 2.81 | WWW |
Python | A python interface of LIBSVM has been included since version 2.33. | Initiated by Carl Staelin at HP Labs. Updated/maintained by LIBSVM authors. | The latest | Included in LIBSVM pacakge |
Python and C# | Interfaces provided in the framework pcSVM | Uwe Schmitt from Germany | 2.71 | pcSVM |
Perl | Matthew Laird at Simon Fraser University, Canada | 2.8 | CPAN | |
Ruby | Rudi Cilibrasi at Centrum voor Wiskunde en Informatica (Dutch National Research Institute for Mathematics and Computer Science). | 2.84 | Ruby SVM | |
Weka | Yasser EL-Manzalawy and Vasant Honavar at Iowa State University. | 2.8 | WLSVM | |
CLISP | Sam Steingold | 2.82 | CLISP LibSVM module | |
.NET | .NET conversion of LIBSVM | Matthew Johnson | 2.6 | SVM.NET |
Labview | Please download the llb file. A image demonstrating its use is here. Probability estimates are not supported. | Kiwoong Kim at Korea Research Institute of Standards and Science. | 2.71 | llb |
C# | C# code converted from libsvm java version | Andrew Poh from Australia | 2.6 | zip |
联系客服