svmmultivaloneagainstone.m

来自「各种SVM分类算法」· M 代码 · 共 32 行

M
32
字号
function [ypred,vote]=svmmultivaloneagainstone(x,xsup,w,b,nbsv,kernel,kerneloption)


n1=size(kerneloption.matrix,1);
nbclass=(1+ sqrt(1+4*2*length(nbsv)))/2;
vote=zeros(n1,nbclass);
nbsv=[0 nbsv];
aux=cumsum(nbsv);
k=1;
for i=1:nbclass-1;
    for j=i+1:nbclass;
       % if nargin < 8;
            if isempty(xsup) & strcmp(kernel,'numerical') & isfield(kerneloption,'matrix')
                kerneloptionm.matrix=kerneloption.matrix(:,aux(k)+1:aux(k)+nbsv(k+1));
                kernelparam=1;
                xapp=[];
            end;            
        %end;
        waux=w(aux(k)+1:aux(k)+nbsv(k+1));
        baux=b(k);
       % ypred= svmval([],[],waux,baux,kernel,kerneloptionm);
        ps=kerneloptionm.matrix;
        ypred=ps*waux+baux;
        indi=find(ypred>=0);
        indj=find(ypred<0);
        vote(indi,i)=vote(indi,i)+1;
        vote(indj,j)=vote(indj,j)+1;
        k=k+1;
    end;
end;
[maxi,ypred]=max(vote');
ypred=ypred';

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?