本文主要是介绍分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分类预测 | 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
这篇关于分类预测 | Matlab实现SCSO-SVM沙猫群优化算法优化支持向量机多特征分类预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!