Version 1.94 released on November 12, 2013.
Following the recent change of LIBSVM, we slightly adjust the way class labels are handled
internally.
By default labels are ordered by their first occurrence in the training set.
Hence for a set with -1/+1 labels, if -1 appears first,
then internally -1 becomes +1. This has caused
confusion. Now for data with -1/+1 labels, we specifically
ensure that internally the binary SVM has positive data corresponding to the +1 instances. For developers, see changes in the subrouting group_classes of linear.cpp.
An experimental version using 64-bit int is in LIBSVM tools. It in theory can handle up to 2^64 instances/features if memory is enough.
We are interested in large sparse regression data. Please let use know if you have some. Thank you.
A practical guide to LIBLINEAR is now available in the end of
LIBLINEAR paper.
Some extensions of LIBLINEAR are at LIBSVM Tools.
LIBLINEAR is the winner of ICML 2008 large-scale learning challenge (linear SVM track). It is also used for winning KDD Cup 2010.
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.
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.
The appendices of this paper give all implementation details of LIBLINEAR.
In the end of this paper there is a practical guide to LIBLINEAR
See also some examples in Appendix C of the SVM guide.
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.92 | Java LIBLINEAR |
Python | A python interface has been included in LIBLINEAR since version 1.6. | LIBLINEAR authors at National Taiwan University. | The latest | Included in LIBLINEAR package |
Python | Python wrapper of LIBLINEAR | Uwe Schmitt | 1.32 | Zip/tar.gz file |
Ruby | A Ruby interface via SWIG | Kei Tsuchiya (extended from the work of Tom Zeng) | 1.93 | liblinear-ruby-swig |
Perl | A Perl interface | Koichi Satoh | 1.93 | perl module |
Weka | Weka wrapper | Benedikt Waldvogel | 1.5 | Weka LIBLINEAR |
R | R interface to LIBLINEAR | Thibault Helleputte | 1.8 | R LIBLINEAR |
Common LISP | Common Lisp wrapper of LIBLINEAR | Gábor Melis | 1.92 | Common LISP wrapper |
Scilab | Holger Nahrstaedt from the Technical University of Berlin | 1.8 | Scilab interface |