📄 grid_rbf.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 + -