Version 1.33 released on September 21, 2008. We improve the speed for reading input data.
LIBLINEAR is a linear classifier for data with millions of instances and features. It supports L2-regularized logistic regression (LR), L2-loss linear SVM, and L1-loss linear SVM.
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 generally liblinear is very fast, its default solver may be slow under certain situations (e.g., data not scaled or C is large). See Appendix B of our SVM guide about how to handle such cases.
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 B 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.33 | Java LIBLINEAR |
| Python | Python wrapper of LIBLINEAR | Uwe Schmitt | 1.32 | Zip/tar.gz file |