分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测
目录
- 分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测
- 分类效果
- 基本描述
- 程序设计
- 参考资料
分类效果
基本描述
1.Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测,运行环境Matlab2018b及以上;
2.输入12个特征,输出分4类,可视化展示分类准确率,可在下载区获取数据和程序内容。
3.SCSO选择最佳的SVM参数c和g。
SVM模型有两个非常重要的参数C与gamma。其中 C是惩罚系数,即对误差的宽容度。c越高,说明越不能容忍出现误差,容易过拟合。C越小,容易欠拟合。C过大或过小,泛化能力变差 。gamma是选择RBF函数作为kernel后,该函数自带的一个参数。隐含地决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,gamma值越小,支持向量越多。支持向量的个数影响训练与预测的速度。
4.excel数据集,main为主程序,其他为函数文件,无需运行。
程序设计
- 完整程序和数据私信博主回复Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测。
%% 参数设置
% 定义优化参数的个数,在该场景中,优化参数的个数dim为2 。
% 定义优化参数的上下限,如c的范围是[0.01, 1], g的范围是[2^-5, 2^5],那么参数的下限lb=[0.01, 2^-5];参数的上限ub=[1, 2^5]。
%目标函数
fun = @getObjValue;
% 优化参数的个数 (c、g)
dim = 2;
% 优化参数的取值下限
lb = [10^-1, 1];
ub = [10^2, 2^8];%% 参数设置
pop =6; %种群数量
maxgen=100;%最大迭代次数
%% 优化(这里主要调用函数)
c = Best_pos(1, 1);
g = Best_pos(1, 2);
toc
% 用优化得到c,g训练和测试
cmd = ['-s 0 -t 2 ', '-c ', num2str(c), ' -g ', num2str(g), ' -q'];
model = libsvmtrain(T_train, P_train, cmd);
————————————————
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/134843675
参考资料
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229