Skip to content


Subversion checkout URL

You can clone with
Download ZIP


vincenzo edited this page · 3 revisions
Clone this wiki locally

LIBSVM Plus is a version of LIBSVM adapted from its head version.

What are the differences?

These are the differences of LIBSVM Plus with respect to the official version.

  1. Four additional kernels: Stump, Perceptron, Laplacian, Exponential.
    Such kernels might be called “infinite ensemble kernels” because a nonlinear SVM which uses them corresponds to a infinite ensemble classifier. Look at the publications of Hsuan-Tien Lin for more theoretical explanations. The code for realizing the above kernels was back-ported and adapted from his LIBSVM fork based on the older 2.8 version;
  2. Three additional SVM models: Classification via L2SVM, Support Vector Domain Description (SVDD) via L1SVM and via L2SVM. The code was back-ported and adapted from a LIBSVM tool: Calculating the radius of the smallest sphere containing all training data. The SVDD can be used as One Class SVM alternative. More theoretical explanations about SVDD can be found in David J. Tax PhD thesis and other papers;
  3. Updated python tools: the two python scripts and were modified in order to allow a normal execution without requiring gnuplot to be installed. Moreover, the script now accepts a third parameter on the command line, that is the number of the kernel to use. The script explicitly handles that with the -t switch;
  4. More python tools: two scripts for converting datasets from LIBSVM file format to classical “dense” ASCII files (and viceversa) are provided in bundle. Very useful when you need to convert dataset from the file format used by UCI Machine Learning Repository. The scripts were originally created by Hsuan-Tien Lin;
  5. Only C++ code supported and mantained, due to the lack of enough time. No Java or Python code provided;
  6. Only Unix: for the same reason stated above, I only test on Linux and Mac OS X, which makes LIBSVM Plus likely to work also on other modern Unix systems. Anyway, you may try the included in official LIBSVM package to compile and test LIBSVM Plus on Windows platforms. An experimental Windows support is now included.

Minor changes

Some additional comments to the source code are provided and some C structures (svm_model and decision_function) were moved from the svm.cpp to svm.h to allow third part softwares to access them in a easier way. Moreover, the svm_model structure now provides three new members: SV_idx (indices of the SVs in the original dataset), BSV_idx (indices of the BSVs in the original dataset) and lbsv (the number of BSVs). Finally, the enumeration element RBF (which in the original LIBSVM refers to the Gaussian kernel) was renamed GAUSSIAN, because there are several kernels which belong to the RBF class, not only the Gaussian one.


For this first release of the LIBSVM Plus I chose to use the same licencing of the original LIBSVM library.

Version number

As long as LIBSVM Plus is a straightforwardly augmented version of the official LIBSVM, it will have the same version number of the LIBSVM code used for making the release.

Something went wrong with that request. Please try again.