libsvmtrain以及libsvmpredict的相关参数说明
(1)model= svmtrain(train_label, train_matrix, ['libsvm_options']);
% train_label表示训练集的标签。
% train_matrix表示训练集的属性矩阵。
% libsvm_options是需要设置的一系列参数。
% model:是训练得到的模型,是一个结构体(如果参数中用到-v,得到的就不是结构体,对于分类问题,得到的是交叉检验下的平均分类准确率;对于回归问题,得到的是均方误差)。
(2)[predicted_label, accuracy/mse,decision_values/prob_estimates]=svmpredict(test_label, test_matrix, model, ['libsvm_options']);
% test _label表示测试集的标签(可以没有)。
% test _matrix表示测试集的属性矩阵。
% model 是上面训练得到的模型。
% libsvm_options是需要设置的一系列参数。
% predicted_label表示预测得到的标签。
% accuracy/mse是一个3*1的列向量,其中第1个数字用于分类问题,表示分类准确率;后两个数字用于回归问题,第2个数字表示mse;第三个数字表示平方相关系数。
% decision_values/prob_estimates:第三个返回值,一个矩阵包含决策的值或者概率估计。
% 对于n个预测样本、k类的问题,如果指定“-b 1”参数,则n x k的矩阵,每一行表示这个样本分别属于每一个类别的概率;如果没有指定“-b 1”参数,则为n x k*(k-1)/2的矩阵,每一行表示k(k-1)/2个二分类SVM的预测结果。
%训练参数的选择
% -s svm_type : set type of SVM (default 0)
% 0-- C-SVC(multi-class classification)%多分类问题
% 1-- nu-SVC(multi-class classification)%多分类问题
% 2-- one-class SVM
% 3-- epsilon-SVR(regression)%回归问题
% 4-- nu-SVR(regression)%回归问题
% %前3类为分类问题,后2类为回归问题
% -t kernel_type : set typ