支持向量机分类识别的MATLAB别代码(2)
时间:2025-04-20
时间:2025-04-20
[Yc,codebook,old_codebook] = code(Y,codefct);
%---------------------------------------------------
% 交叉验证优化参数
%[gam,sig2] = tunelssvm({X,Yc,type,gam,sig2,kernel_type,preprocess})
%---------------------------------------------------
% 训练与测试
[alpha,b] = trainlssvm({X,Yc,type,gam,sig2,kernel_type,preprocess}); % 训练 Yd0 = simlssvm({X,Yc,type,gam,sig2,kernel_type,preprocess},{alpha,b},Xt); % 分类
%---------------------------------------------------
% 解码
Yd = code(Yd0,old_codebook,[],codebook);
%---------------------------------------------------
% 结果统计
Result = ~abs(Yd-Yt) % 正确分类显示为1
Percent = sum(Result)/length(Result) % 正确分类率
%---------------------------------------------------
% 注意:以这两种写法等价
% -- 1 --
% [Yc,codebook,old_codebook] = code(Y, codefct)
% [alpha, b] = trainlssvm({X,Yc,type,gam,sig2,kernel,preprocess}) % Yd0 = simlssvm({X,Yc,type,gam,sig2,kernel}, {alpha,b}, Xt)
% Yd = code(Yd0,old_codebook,[],codebook)
% -- 2 --
% model = initlssvm(X,Y,type,gam,sig2,kernel,preprocess)
% model = changelssvm(model,'codetype',codefct)
% model = trainlssvm(model)
% Yd = simlssvm(model, Xt)
下一篇:人防地下室计算规定