1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
.\" Hey, EMACS: -*- nroff -*-
.TH LIBLINEAR-TRAIN 1 "March 08, 2011"
.SH NAME
liblinear-train \- train a linear classifier and produce a model
.SH SYNOPSIS
.B liblinear-train
.RI [ options ] " training_set_file " [ model_file ]
.br
.SH DESCRIPTION
\fBliblinear-train\fP trains a linear classifier using liblinear and produces a
model suitable for use with \fBliblinear-predict\fP(1).
\fItraining_set_file\fP is the file containing the data used for training.
\fImodel_file\fP is the file to which the model will be saved. If
\fImodel_file\fP is not provided, it defaults to \fItraining_set_file.model\fP.
To obtain good performances, sometimes one needs to scale the data. This can be
done with \fBsvm-scale\fP(1).
.SH OPTIONS
A summary of options is included below.
.TP
.B \-s \fItype\fP
Set the type of the solver:
.sp
.RS 10
.nf
0 ... L2-regularized logistic regression
.sp
1 ... L2-regularized L2-loss support vector classification (dual) (default)
.sp
2 ... L2-regularized L2-loss support vector classification (primal)
.sp
3 ... L2-regularized L1-loss support vector classification (dual)
.sp
4 ... multi-class support vector classification
.sp
5 ... L1-regularized L2-loss support vector classification
.sp
6 ... L1-regularized logistic regression
.sp
7 ... L2-regularized logistic regression (dual)
.fi
.RE
.TP
.B \-c \fIcost\fP
Set the parameter C (default: \fB1\fP)
.TP
.B \-e \fIepsilon\fP
Set the tolerance of the termination criterion
.sp
For \-s 0 and 2:
.RS 10
.nf
.sp
|f'(w)|_2 <= \fIepsilon\fP*min(pos,neg)/l*|f'(w0)_2, where f is
the primal function and pos/neg are the number of positive/negative data
(default: \fB0.01\fP)
.fi
.RE
.IP
For \-s 1, 3, 4 and 7:
.sp
.nf
.RS 10
Dual maximal violation <= \fIepsilon\fP; similar to libsvm (default: \fB0.1\fP)
.fi
.RE
.IP
For \-s 5 and 6:
.sp
.nf
.RS 10
|f'(w)|_inf <= \fIepsilon\fP*min(pos,neg)/l*|f'(w0)|_inf, where f is the primal
function (default: \fB0.01\fP)
.RE
.TP
.B \-B \fIbias\fP
If \fIbias\fP >= 0, then instance x becomes [x; bias]; if \fIbias\fP < 0, then
no bias term is added (default: \fB-1\fP)
.TP
.B \-w\fIi\fP \fIweight\fP
Weight-adjusts the parameter C of class \fIi\fP by the value \fIweight\fP
.TP
.B \-v \fIn\fP
\fIn\fP-fold cross validation mode
.TP
.B \-q
Quiet mode (no outputs).
.SH EXAMPLES
.sp
Train a linear SVM using L2-loss function:
.sp
.RS 10
.nf
liblinear-train data_file
.fi
.RE
.sp
Train a logistic regression model:
.sp
.RS 10
.nf
liblinear-train \-s 0 data_file
.fi
.RE
.sp
Do five-fold cross-validation using L2-loss SVM, using a smaller stopping
tolerance 0.001 instead of the default 0.1 for more accurate solutions:
.sp
.RS 10
.nf
liblinear-train \-v 5 \-e 0.001 data_file
.fi
.RE
.sp
Train four classifiers:
.RS 18
.sp
positive negative Cp Cn
.br
class 1 class 2,3,4 20 10
.br
class 2 class 1,3,4 50 10
.br
class 3 class 1,2,4 20 10
.br
class 4 class 1,2,3 10 10
.RE
.sp
.RS 10
.nf
liblinear-train \-c 10 \-w1 2 \-w2 5 \-w3 2 four_class_data_file
.fi
.RE
.sp
If there are only two classes, we train ONE model. The C values for the two
classes are 10 and 50:
.sp
.RS 10
.nf
liblinear-train \-c 10 \-w3 1 \-w2 5 two_class_data_file
.fi
.RE
.sp
Output probability estimates (for logistic regression only) using
\fBliblinear-predict\fP(1):
.sp
.RS 10
.nf
liblinear-predict \-b 1 test_file data_file.model output_file
.fi
.RE
.SH SEE ALSO
.BR liblinear-predict (1),
.BR svm-predict (1),
.BR svm-train (1)
.SH AUTHORS
liblinear-train was written by the LIBLINEAR authors at National Taiwan
university for the LIBLINEAR Project.
.PP
This manual page was written by Christian Kastner <debian@kvr.at>,
for the Debian project (and may be used by others).
|