• 大小: 33KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Matlab
  • 标签: Matlab  

资源简介

采用了十折交叉验证提高了分类的准确性,分类器分类函数可以替换成Linear,quadratic,rbf函数

资源截图

代码片段和文件信息


clear;clc;
X=xlsread(‘book44‘);
[m n]=size(X);
[Bcmaker]=xlsread(‘book33‘);
ind=crossvalind(‘Kfold‘m10);                      %采用十折交叉验证法
for i=1:10
test=(ind==i);
train=~test;
X_tr=X(train:);  
X_te=X(test:);
Y_tr=cmaker(train1);
Y_te=cmaker(test1);
[gindexgroups] = grp2idx(Y_tr);
option=statset(‘MaxIter‘80000);
s=svmtrain(X_trgindex‘Method‘‘SMO‘ ‘Kernel_Function‘‘quadratic‘‘options‘option) ;%训练支持向量机分类器;SMO代表%使用序列最小化方法训练支持向量机的分类器;polynomial代表多项式核函数
sv_index=s.SupportVectorIndices ; %返回支持向量的标号
beta=s.Alpha;  %返回分类函数的权系数
bb=s.Bias;  %返回分类函数的常数项
mean_and_std_trans=s.ScaleData; %第1行返回的是已知样本点均值向量的相反数,第2行返回的是标准差向量的倒数

check=svmclassify(sX_tr);  %验证已知样本点
err_rate(1i)=1-sum(gindex==check)/length(gindex) ;%计算已知样本点的错判率

end
AvgCorrectRate=1-mean(err_rate);                     %计算争取率平均值
fprintf(‘cp.ErrorRate = %f\n‘AvgCorrectRate); 
% test=xlsread(‘x_test‘);
% solution=svmclassify(stest) %对待判样本点进行分类

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1100  2017-05-05 23:27  testsvm.m

     文件      32256  2017-05-05 20:50  book33.xls

     文件      63488  2017-05-05 20:51  book44.xls

----------- ---------  ---------- -----  ----

                96844                    3


评论

共有 条评论