资源简介
SVM参数优化 网格搜索法
代码片段和文件信息
function [bestaccbestcbestg] = SVMcgForClass(train_labeltraincmincmaxgmingmaxvcstepgstepaccstep)
%SVMcg cross validation by faruto
%%
% by faruto
%Email:patrick.lee@foxmail.com QQ:516667408 http://blog.sina.com.cn/faruto BNU
%last modified 2010.01.17
%% 若转载请注明:
% faruto and liyang LIBSVM-farutoUltimateVersion
% a toolbox with implements for support vector machines based on libsvm 2009.
%
% Chih-Chung Chang and Chih-Jen Lin LIBSVM : a library for
% support vector machines 2001. Software available at
% http://www.csie.ntu.edu.tw/~cjlin/libsvm
%% about the parameters of SVMcg
if nargin < 10
accstep = 4.5;
end
if nargin < 8
cstep = 0.8;
gstep = 0.8;
end
if nargin < 7
v = 5;
end
if nargin < 5
gmax = 8;
gmin = -8;
end
if nargin < 3
cmax = 8;
cmin = -8;
end
%% X:c Y:g cg:CVaccuracy
[XY] = meshgrid(cmin:cstep:cmaxgmin:gstep:gmax);
[mn] = size(X);
cg = zeros(mn);
eps = 10^(-4);
%% record acc with different c & gand find the bestacc with the smallest c
bestc = 1;
bestg = 0.1;
bestacc = 0;
basenum = 2;
for i = 1:m
for j = 1:n
cmd = [‘-v ‘num2str(v)‘ -c ‘num2str( basenum^X(ij) )‘ -g ‘num2str( basenum^Y(ij) )];
cg(ij) = svmtrain(train_label train cmd);
if cg(ij) <= 55
continue;
end
if cg(ij) > bestacc
bestacc = cg(ij);
bestc = basenum^X(ij);
bestg = basenum^Y(ij);
end
if abs( cg(ij)-bestacc )<=eps && bestc > basenum^X(ij)
bestacc = cg(ij);
bestc = basenum^X(ij);
bestg = basenum^Y(ij);
end
end
end
%% to draw the acc with different c & g
figure;
[Ch] = contour(XYcg70:accstep:100);
clabel(Ch‘Color‘‘r‘);
xlabel(‘log2c‘‘FontSize‘12);
ylabel(‘log2g‘‘FontSize‘12);
firstline = ‘SVC参数选择结果图(等高线图)[GridSearchMethod]‘;
secondline = [‘Best c=‘num2str(bestc)‘ g=‘num2str(bestg) ...
‘ CVAccuracy=‘num2str(bestacc)‘%‘];
title({firstline;secondline}‘Fontsize‘12);
grid on;
figure;
meshc(XYcg);
% mesh(XYcg);
% surf(XYcg);
axis([cmincmaxgmingmax30100]);
xlabel(‘log2c‘‘FontSize‘12);
ylabel(‘log2g‘‘FontSize‘12);
zlabel(‘Accuracy(%)‘‘FontSize‘12);
firstline = ‘SVC参数选择结果图(3D视图)[GridSearchMethod]‘;
secondline = [‘Best c=‘num2str(bestc)‘ g=‘num2str(bestg) ...
‘ CVAccuracy=‘num2str(bestacc)‘%‘];
title({firstline;secondline}‘Fontsize‘12);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2506 2016-03-08 22:16 网格搜索法\网格搜索法.m
目录 0 2016-03-09 15:43 网格搜索法
----------- --------- ---------- ----- ----
2506 2
相关资源
- qpso-svm算法
- 机器学习算法,包含随机森林,决策
- 基于SVM的入侵检测系统
- SVM(支持向量机)入门 (深入浅出讲
- SVM with mosek for banana
- FormatDatalLibsvm.xls.xls->svm格式转换
- 用kmeans得到二值分割后,再用svm进行
- 用于车牌字符识别的SVM算法
- HOG-LBP-detection
- svm gui安装该工具箱
- FormatDatalibsvm.xlslibSVM的数据格式转换工
- 支持向量机与神经网络的区别
- 基于遗传算法的SVM方法
- libsvm 数据格式转换宏命令---FormatDat
- FormatDatalibsvm转换数据格式为libsvm要求
- DC2AC converter with SVM in Plecs
- 支持向量机用于遥感影像分类
- svm手写数字识别
- SVM教程PPT
- 基于HOG和SVM的图像识别方法
- 支持向量机参数优化.rar
- svm实现是否带眼镜
- SVM(支持向量机)实现数据的三分类
- SVM分类器代码
- 基于PSO的SVM参数寻优代码
- 葡萄酒数据集
- opencv 人数统计
- 基于PSO的LS-SVM特征选择与参数优化算
- LS-SVM,预测时间序列
- libsvm-3.20版本 64位系统可用,内涵测试
评论
共有 条评论