支持向量机 使用说明

[Ypre_svm] = SVMclassify(testImages',images', labels', gammaval,C);

这一句是整体引用。

C=10.^[1:5];
sigmaval = 2.^[-4 : 4];  gammaval = 1./(2*sigmaval.^2);

for p = 1 : length(gammaval)
    for q = 1 : length(Cval)
        gu = gammaval(p);  cu = Cval(q);
        cmd = [' -v 3 -c ',num2str(cu),' -g ',num2str(gu)];
    
        cg(p,q) = svmtrain(YTrn, XTrn, cmd);
        if cg(p,q) >= bestacc
            bestacc = cg(p,q);
            bestc = cu;
            bestg = gu;
        end
    end
end

三段法交叉验证获得最好的g和c。

 cmd = [' -c ', num2str(bestc), ' -g ',  num2str(bestg) ];
 model = svmtrain(YTrn, XTrn, cmd);
 TrnTime = toc(tstart);     
 用最好的g和c得到model,里面含有w和b。
 tstart = tic;
Ypre_SVC = svmpredict(ones(size(XTst,1),1), XTst, model);
 TstTime = toc(tstart);   

用model进行预测。

猜你喜欢

转载自blog.csdn.net/zpnkwxp2011/article/details/83216180