matlab SVM
%svm train
X_train= mapminmax(X_train 0, 1);
svm_model=svmtrain(y_train,X_train','-s 0 -t 0 -c 1');%y_train:N*1, X_train:N*M
% svm test
X_test = mapminmax(X_test, 0, 1);
[predict_label, accuracy, dec_values] =svmpredict(y_test,X_test', svm_model);
参数选择
-s svm类型:(默认0)
0 – C-SVC
1 --v-SVC
2 – 一类SVM
3 – e -SVR
4 – v-SVR
-t 核函数类型:(默认2)
0 – 线性:u’v
1 – 多项式:(ru’v + coef0)^degree
2 – RBF函数:exp(-gamma|u-v|^2)
3 –sigmoid:tanh(ru’v + coef0)
-d degree:(针对多项式核函数)(默认3)
-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/ k)
-r coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)
-c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数)(默认1)
-n nu:设置v-SVC,一类SVM和v- SVR的参数(默认0.5)
-p p:设置e -SVR 中损失函数p的值(默认0.1)
-m cachesize:设置cache内存大小,以MB为单位(默认40)
-e eps:设置允许的终止判据(默认0.001)
-h shrinking:是否使用启发式,0或1(默认1)
-wi weight:设置第几类的参数C为weight*C(C-SVC中的C)(默认1)
-v n: n-fold交互检验模式,n为fold的个数,必须大于等于2