📄 lssvmbaystep.m
字号:
% generate training and test set, ptrn, ttrn, and ptst, ttst, vpred-variable_list.
% crtData,
t_start=cputime;
vpredWait=vpred;
%ptrn=ptrn(1:150,:); ttrn=ttrn(1:150,1);
nSel=size(ptrn, 2);
stepList=struct('type', ' ', 'name', 'null', 'L3', inf, 'sigOpt', 0, 'gamOpt', 0, 'neffPar', 0);
lstep = 0;
vpredInit={};
for iSel=1:nSel,
if iSel==1,
ptrnInit=[]; ptrnWait=ptrn; nstep=3; L3Init=inf;
else
ptrnInit=ptrnNew;
ll=length(stepList);
L3Init=stepList(ll).L3;
ptrnInit=ptrnNew;
ptrnWait=ptrnRest; vpredWait=vpredRest;
nstep=1;
end,
% forward selection
[forList, ptrnNew, ptrnRest, vpredRest, vpredAdd, nAdd]=lssvmBayForward(ptrnInit, ttrn, ptrnWait, vpredWait, L3Init, nstep);
ll=length(forList);
if nAdd==0,
break,
end,
for il=1:ll;
lstep = lstep + 1;
stepList(lstep)=forList(il);
end,
L3Init=forList(ll).L3; sigInit=forList(ll).sigOpt; gamInit=forList(ll).gamOpt;
ptrnInit=ptrnNew;
vpredInit=[vpredInit, vpredAdd];
[backList, ptrnNew, vpredNew, nDel]=lssvmBayBackward(ptrnInit, ttrn, vpredInit, L3Init, sigInit, gamInit);
if nDel>0,
ll=length(backList);
for il=2:ll;
lstep = lstep + 1;
stepList(lstep)=backList(il);
end,
vpredInit=vpredNew;
end,
end,
nvpred=length(vpredNew);
disp(' '),
disp('== Stepwise Summary =='),
disp('#. Input +/- L3 sig gam NumEffPar '),
for i=1:length(stepList),
disp([num2str(i), '. ', stepList(i).type, ' ', stepList(i).name, ': ', ...
num2str(stepList(i).L3),', ', num2str(stepList(i).sigOpt), ', ', ...
num2str(stepList(i).gamOpt), ', ', num2str(stepList(i).neffPar)]),
end,
disp(' '),
disp('== Input Selected ==')
for i=1:nvpred,
disp([num2str(i), '. ', vpredNew{i}]),
end
min_elapsed=(cputime-t_start)/60;
disp(['time elapsed (min) : ', num2str(min_elapsed)]),
save MATstep8 stepList vpredNew min_elapsed,
return,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -