svm-train(1) train one or more SVM instance(s) on a given data set to produce a model file


svm-train [-s svm_type ] [ -t kernel_type ] [ -d degree ] [ -g gamma ] [ -r coef0 ] [ -c cost ] [ -n nu ] [ -p epsilon ] [ -m cachesize ] [ -e epsilon ] [ -h shrinking ] [ -b probability_estimates ] ] [ -wi weight ] [ -v n ] [ -q ]

training_set_file [ model_file ]


svm-train trains a Support Vector Machine to learn the data indicated in the training_set_file
 and produce a model_file
 to save the results of the learning optimization.  This model can be used later with svm_predict(1) or other LIBSVM enabled software.


-s svm_type
svm_type defaults to 0 and can be any value between 0 and 4 as follows:
-- C-SVC
-- nu-SVC
-- one-class SVM
-- epsilon-SVR
-- nu-SVR

-t kernel_type
kernel_type defaults to 2 (Radial Basis Function (RBF) kernel) and can be any value between 0 and 4 as follows:
-- linear: u.v
-- polynomial: (gamma*u.v + coef0)^degree
-- radial basis function: exp(-gamma*|u-v|^2)
-- sigmoid: tanh(gamma*u.v + coef0)
-- precomputed kernel (kernel values in training_set_file) --
-d degree
Sets the degree of the kernel function, defaulting to 3
-g gamma
Adjusts the gamma in the kernel function (default 1/k)
-r coef0
Sets the coef0 (constant offset) in the kernel function (default 0)
-c cost
Sets the parameter C ( cost ) of C-SVC, epsilon-SVR, and nu-SVR (default 1)
-n nu
Sets the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
-p epsilon
Set the epsilon in the loss function of epsilon-SVR (default 0.1)
-m cachesize
Set the cache memory size to cachesize in MB (default 100)
-e epsilon
Set the tolerance of termination criterion to epsilon (default 0.001)
-h shrinking
Whether to use the shrinking
 heuristics, 0 or 1 (default 1)
-b probability-estimates
probability_estimates is a binary value indicating whether to calculate probability estimates when training the SVC or SVR model. Values are 0 or 1 and defaults to 0 for speed.
-wi weight
Set the parameter C (cost) of class i to weight*C, for C-SVC (default 1)
-v n
Set n for n -fold cross validation mode
quiet mode; suppress messages to stdout.


training_set_file must be prepared in the following simple sparse training vector format:

<label> <index1>:<value1> <index2>:<value2> . . .




There is one sample per line. Each sample consists of a target value (label or regression target) followed by a sparse representation of the input vector. All unmentioned coordinates are assumed to be 0. For classification, <label> is an integer indicating the class label (multi-class is supported). For regression, <label> is the target value which can be any real number. For one-class SVM, it's not used so can be any number. Except using precomputed kernels (explained in another section), <index>:<value> gives a feature (attribute) value. <index> is an integer starting from 1 and <value> is a real number. Indices must be in an ASCENDING order.


No environment variables.


None documented; see Vapnik et al.


Please report bugs to the Debian BTS.


Chih-Chung Chang, Chih-Jen Lin <[email protected]>, Chen-Tse Tsai <[email protected]> (packaging)