**NAME**

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

**SYNOPSIS**

svm-train[-ssvm_type][-tkernel_type][-ddegree][-ggamma][-rcoef0][-ccost][-nnu][-pepsilon][-mcachesize][-eepsilon][-hshrinking][-bprobability_estimates]][-wiweight][-vn][-q]training_set_file[model_file]

**DESCRIPTION**

svm-traintrains a Support Vector Machine to learn the data indicated in thetraining_set_fileand produce amodel_fileto save the results of the learning optimization. This model can be used later withsvm_predict(1) or other LIBSVM enabled software.

**OPTIONS**

-s svm_type svm_type defaults to 0 and can be any value between 0 and 4 as follows:0--C-SVC1--nu-SVC2--one-classSVM3--epsilon-SVR4--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.v1--polynomial:(gamma*u.v+coef0)^degree2--radialbasisfunction:exp(-gamma*|u-v|^2)3--sigmoid:tanh(gamma*u.v+coef0)4--precomputedkernel(kernelvaluesintraining_set_file)-- -d degree Sets thedegreeof the kernel function, defaulting to 3 -g gamma Adjusts thegammain the kernel function (default 1/k) -r coef0 Sets thecoef0(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 parameternuof nu-SVC, one-class SVM, and nu-SVR (default 0.5) -p epsilon Set theepsilonin the loss function of epsilon-SVR (default 0.1) -m cachesize Set the cache memory size tocachesizein MB (default 100) -e epsilon Set the tolerance of termination criterion toepsilon(default 0.001) -h shrinking Whether to use theshrinkingheuristics, 0 or 1 (default 1) -b probability-estimatesprobability_estimatesis 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 classito weight*C, for C-SVC (default 1) -v n Setnforn-fold cross validation mode -q quiet mode; suppress messages to stdout.

**FILES**

training_set_filemust 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.

**ENVIRONMENT**

No environment variables.

**DIAGNOSTICS**

None documented; see Vapnik et al.

**BUGS**

Please report bugs to the Debian BTS.

**AUTHOR**

Chih-Chung Chang, Chih-Jen Lin <cjlin@csie.ntu.edu.tw>, Chen-Tse Tsai <ctse.tsai@gmail.com> (packaging)

**SEE** **ALSO**

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