Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
89 lines (61 sloc) 3.46 KB
Libsvm Plus is a straightforward improvement of the official
Libsvm library (
Author: Vincenzo Russo (
Version: 2.90
What are the differences?
1. Only C++ code supported and mantained, due to the lack of enough time.
No Java code provided. Other language interfaces (like Python, etc.)
should be work but only providing the original features of LIBSVM.
Anyway, no tests were made.
2. 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 could try to use the included in official
LIBSVM package to compile and test LIBSVM Plus on Windows platforms;
3. 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 from his LIBSVM fork
based on the older 2.8 version;
4. Three additional SVM models: Classification (C-SVM) via L2SVM,
Support Vector Domain Description (SVDD) via L1SVM and via L2SVM.
The code was back-ported 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
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.
(by Vladislavs Dovgalecs, Universite Bordeaux I, FRANCE)
To compile for Windows, you will need :
1. Microsoft Visual Studio (worked with Visual C++ 2008 Express)
2. nmake.exe, link.exe and cl.exe are usually found in VC bin directory
3. Make sure your PATH variable reflects the location of Visual Studio bin directory
(cl.exe, nmake.exe and link.exe)
Compilation is done following few steps :
1. Open the console and run VCVARS32.bat. This will setup VC global variables.
2. Run 'nmake -f'
For this first release of the LIBSVM Plus we choose to use the same licensing
of the original LIBSVM library.
Version number
As long as LIBSVM Plus will be a straightforwardly augmented version of the official
LIBSVM, it will have the same version number of the original LIBSVM code used for
making the release.