⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grid_rbf.m

📁 CU SVM Classifier Matlab Toolbox
💻 M
字号:
function [C, gamma, Accuracy]=grid_Rbf(data, nr_fold, filename, lowC, highC, stepC, lowgamma, highgamma, stepgamma)
%Usage: [C, gamma, Accuracy]=grid_Rbf(data, nr_fold, lowC, highC, stepC, lowgamma, highgamma, stepgamma)

if (nargin < 3) || (nargin > 9)
   disp(' Incorrect number of input variables.\n');
   help grid_Rbf;
   return;
end

if ~isfield(data, 'X')
    disp(' Error: invalid data structure.\n');
    return; 
end
if ~isfield(data, 'y')
    disp(' Error: invalid data structure.\n');
    return; 
end
if isempty(data.X)
    disp(' Error: sample field is empty.\n');
    return; 
end
if size(data.X,2) ~= size(data.y,2)
    disp(' Error: sample and label do not match.\n');
    return; 
end

if nargin<9, stepgamma=1; end
if nargin<8, highgamma=3; end
if nargin<7, lowgamma=-15; end
if nargin<6, stepC=1; end
if nargin<5, highC=15; end
if nargin<4, lowC=-5; end

Accuracy=0;
if nr_fold<2
    disp(' Parameter:nr_fold must greater or equal to 2.\n');
    return;
else
    options.crossvalidation=nr_fold;
end
fid=fopen(filename,'w');
for I=lowC:stepC:highC
    for J=lowgamma:stepgamma:highgamma
        testC=2^I;
        testgamma=2^J;
        output=RbfSVC_Train(data, 0, testC, testgamma, options);
        if output.Accuracy>Accuracy
            C=testC
            gamma=testgamma
            Accuracy=output.Accuracy
        end
        fprintf(fid, '%f %f %f\n', I, J, output.Accuracy);
    end
end
fclose(fid);

⌨️ 快捷键说明

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