Function Reference: svmtrain

statistics: model = svmtrain (labels, data, libsvm_options)

This function trains an SVM model based on known labels and their corresponding data which comprise an instance matrtix.

  • labels : An m by 1 vector of prediction labels. (type must be double)
  • data : An m by n matrix of m testing instances with n features. It can be dense or sparse. (type must be double)
  • libsvm_options : A string of testing options in the same format as that of LIBSVM.

libsvm_options :

  • -s : svm_type; set type of SVM (default 0)
0C-SVC (multi-class classification)
1nu-SVC (multi-class classification)
2one-class SVM
3epsilon-SVR (regression)
4nu-SVR (regression)
  • -t : kernel_type; set type of kernel function (default 2)
0linear: u’*v
1polynomial: (gamma× u’× v + coef0) ^ degree
2radial basis function: e×p(-gamma× |u-v| ^ 2)
3sigmoid: tanh(gamma× u’× v + coef0)
4precomputed kernel (kernel values in training_instance_matrix)
  • -d : degree; set degree in kernel function (default 3)
  • -g : gamma; set gamma in kernel function (default 1/num_features)
  • -r : coef0; set coef0 in kernel function (default 0)
  • -c : cost; set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)
  • -n : nu; set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
  • -p : epsilon; set the epsilon in loss function of epsilon-SVR (default 0.1)
  • -m : cachesize; set cache memory size in MB (default 100)
  • -e : epsilon; set tolerance of termination criterion (default 0.001)
  • -h : shrinking; whether to use the shrinking heuristics, 0 or 1 (default 1)
  • -b : probability_estimates; whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0)
  • -w : weight; set the parameter C of class i to weight*C, for C-SVC (default 1)
  • -v : n; n-fold cross validation mode
  • -q : quiet mode (no outputs)

The function svmtrain function returns a model structure which can be used for future prediction and it contains the following fields:

  • Parameters : parameters
  • nr_class : number of classes; = 2 for regression/one-class svm
  • totalSV : total #SV
  • rho : -b of the decision function(s) w×+b
  • Label : label of each class; empty for regression/one-class SVM
  • sv_indices : values in [1,...,num_traning_data] to indicate SVs in the training set
  • ProbA : pairwise probability information; empty if -b 0 or in one-class SVM
  • ProbB : pairwise probability information; empty if -b 0 or in one-class SVM
  • nSV : number of SVs for each class; empty for regression/one-class SVM
  • sv_coef : coefficients for SVs in decision functions
  • SVs : support vectors

If you do not use the option -b 1, ProbA and ProbB are empty matrices. If the ’-v’ option is specified, cross validation is conducted and the returned model is just a scalar: cross-validation accuracy for classification and mean-squared error for regression.

Source Code: svmtrain