Version 1.6 released on June 20, 2010.
See also
other liblinear extensions
("Weights for data instances" and
"fast training/testing for degree-2 polynomial mappings of data")
at LIBSVM Tools.
LIBLINEAR is the winner of
ICML 2008 large-scale learning challenge
(linear SVM track).
LIBLINEAR is a linear classifier for data with millions of instances and features. It supports
Main features of LIBLINEAR include
% time libsvm-2.85/svm-train -c 4 -t 0 -e 0.1 -m 800 -v 5 rcv1_train.binary Cross Validation Accuracy = 96.8136% 345.569s % time liblinear-1.21/train -c 4 -e 0.1 -v 5 rcv1_train.binary Cross Validation Accuracy = 97.0161% 2.944sWarning:While LIBLINEAR's default solver is very fast for document classification, it may be slow in other situations. See Appendix C of our SVM guide about using other solvers in LIBLINEAR.
Warning:If you are a beginner and your data sets are not large, you should consider LIBSVM first.
The package includes the source code in C/C++. A README file with detailed explanation is provided. For MS Windows users, there is a subdirectory in the zip file containing binary executable files.
Please read the COPYRIGHT notice before using LIBLINEAR.
General information
R.-E. Fan, K.-W. Chang, C.-J. Hsieh, X.-R. Wang, and
C.-J. Lin.
LIBLINEAR: A library for large linear classification
Journal
of Machine Learning Research
9(2008), 1871-1874.
Some examples are in Appendix C of our SVM guide.
The approach for L1-SVM and L2-SVM
is a coordinate descent method:
C.-J. Hsieh, K.-W. Chang, C.-J. Lin, S. S. Keerthi,
and S. Sundararajan.
A dual coordinate descent method for large-scale linear SVM.
ICML 2008.
Multiclass classification for Crammer and Singer's formula:
S. S. Keerthi,
S. Sundararajan.
K.-W. Chang,
C.-J. Hsieh,
and
C.-J. Lin,
A sequential dual method for large scale multi-class linear SVMs
.
KDD 2008.
For LR and L2-SVM,
we
implement
a trust region Newton method:
C.-J. Lin, R. C. Weng, and S. S. Keerthi.
Trust region Newton method for large-scale logistic
regression.
Journal of Machine Learning Research 9(2008), 627--650.
Code used for experiments in our LIBLINEAR papers can be found here.
| Language | Description | Maintainers and Their Affiliation | Supported LIBLINEAR version | Link |
|---|---|---|---|---|
| MATLAB | A simple MATLAB interface | LIBLINEAR authors at National Taiwan University. | The latest | Included in LIBLINEAR package |
| Octave | A simple Octave interface | LIBLINEAR authors at National Taiwan University. | The latest | Included in LIBLINEAR package |
| Java | Java version of LIBLINEAR | Benedikt Waldvogel | 1.5 | Java LIBLINEAR |
| Python | Python wrapper of LIBLINEAR | Uwe Schmitt | 1.32 | Zip/tar.gz file |
| Ruby | A Ruby interface via SWIG | Tom Zeng | 1.51 | liblinear-ruby-swig |
| Weka | Weka wrapper | Benedikt Waldvogel | 1.5 | Weka LIBLINEAR |
| R | R interface to LIBLINEAR | Thibault Helleputte | 1.51 | R LIBLINEAR |