Manual Reference Pages  - svm-train (1)


svm-train - 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:
0 -- C-SVC
1 -- nu-SVC
2 -- one-class SVM
3 -- epsilon-SVR
4 -- 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:
0 -- linear: u.v
1 -- polynomial: (gamma*u.v + coef0)^degree
2 -- radial basis function: exp(-gamma*|u-v|^2)
3 -- sigmoid: tanh(gamma*u.v + coef0)
4 -- 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
-q 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 <>, Chen-Tse Tsai <> (packaging)


svm-predict(1), svm-scale(1)

Linux svm-train (1) MAY 2006
blog comments powered by Disqus