运行需求文件
libsvm函数(matlab2020a版本亲测可使用)
注意:运行libsvm需要两个编译文件,可在下面链接获取:
1.svmtrain.mexw64
2.svmpredict.mexw64
私聊回复 “libsvm资源获取”,即可取得资源获取方式。
如果对你有帮助,请点击一波儿关注,双手合十感谢~
LIBSVM参数设置
Options:可用的选项即表示的涵义如下
-s svm类型: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(-r|u-v|^2)
3 –sigmoid:tanh(ru’v + coef0)
-d degree:核函数中的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
其中-g选项中的k是指输入数据中的属性数。option -v 随机地将数据剖分为n部分并计算交互检验准确度和均方根误差。以上这些参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。
建立回归/分类模型
%% 数据设置 p_train p_test 为M*N ,M为样本个数,N为特征变量 t_train t_test 为M*p ,M为样本个数,p为因变量,默认为1
%% 创建分类模型 c = 10.0; % 惩罚因子 g = 0.01; % 径向基函数参数 cmd = ['-t 2', '-c', num2str(c), '-g', num2str(g)]; model = svmtrain(t_train, p_train, cmd);
%% 创建回归模型 c = 4.0; % 惩罚因子 g = 0.8; % 径向基函数参数 cmd = [' -t 2',' -c ',num2str(c),' -g ',num2str(g),' -s 3 -p 0.01']; model = svmtrain(t_train, p_train, cmd);
%% 仿真预测 T_sim2 = svmpredict(t_test , p_test , model);