Chih-Chung Chang and Chih-Jen Lin

The new release (version 2.03) of LIBSVM largely improves the implementation of nu-SVM. By a serious timing comparison with C-SVM, we have shown the practical viability of nu-SVM. For details, please see the revised version of the paper Training nu-Support Vector Classifiers: Theory and Algorithms.
The new release (version 2.0) of LIBSVM is an integrated tool for support vector classification, regression as well as two varients: nu-SVM and one-class SVM. All these different problems are implemented in one short file (1000-line C++ code). Click here to see more new features of version 2.0.


Most available support vector machines (SVM) software are either quite complicated or are not suitable for large problems. Instead of seeking a very fast software for difficult problems, we provide a simple, easy-to-use, and moderately efficient software for SVM classification and regression: LIBSVM. Its basic algorithm is a simplification of both SMO by Platt and SVMLight by Joachims. It is also a simplification of the modification 2 of SMO by Keerthi et al.

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. In addition, we provide a graphic interface to demonstrate 2-D pattern recognition.  

Download LIBSVM

The current release (Version 2.0) of LIBSVM can be obtained by downloading the zip file. (Due to possible slow connection, you may want to download it from other places: US Download. Please e-mail us if you have problems to download the file.)
The package includes the major library (svm.c and svm.h), two examples (svm-train.c and svm-classify.c) demonstrating the use of LIBSVM, and a file scale.c for scaling training data. A README file with detailed explanation is also provided. For
MS Windows users, there is a subdirectory in the zip file containing binary executable files.

Please read the COPYRIGHT notice before using LIBSVM

Graphic Interface

We provide a simple graphic interface for 2-D pattern recognition. Examples of using this tool are as follows:

To install this tool, please read the README file in the package.

Additional Information

References of LIBSVM:

For more information about nu-SVM and one-class SVM , please see

A MATLAB interface of LIBSVM (currently libsvm 2.0 is used) has been done by Junshui Ma and Stanley Ahalt at Ohio State University.

One of our previous SVM software which focuses on difficult SVM models is BSVM.

If you have any problems using LIBSVM, we are happy to provide help. Please send comments and suggestions to Chih-Jen Lin.

Acknowledgments: This work was supported in part by the National Science Council of Taiwan via the grant NSC 89-2213-E-002-013. The authors thank Chih-Wei Hsu and Jen-Hao Lee for many helpful discussions and comments.