基于麻雀搜索算法优化的SVM数据分类预测 - 附代码

文章目录

  • 基于麻雀搜索算法优化的SVM数据分类预测 - 附代码
    • 1.数据集
    • 2.SVM模型建立
    • 3.基于麻雀算法优化的SVM
    • 4.测试结果
    • 5.参考文献:
    • 6.Matlab代码
    • 7.python代码

摘要:为了提高SVM数据的分类预测准确率,对SVM中惩罚参数和核函数参数利用麻雀搜索算法进行优化。

1.数据集

wine 数据的来源是 UCI 数据库 , 记录的是在意大利同一区域里三种不同品种的葡萄酒的化学成分分析,数据里含有 178 个样本,每个样本含有 13 个特征分量(化学成分〉,每个样本 的类别标签已给。将这 178 个样本的 50%作为训练集,另 50%作为测试集 ,用训练集对 SVM 进行训练可以得到分类模型,再用得到的模型对测试集进行类别标签预测。

整体数据存储在 chapter_WineClass. mat ,解释如下: classnumber = 3 ,记录类别数目;

wine, 178 × 13 的 一个 double 型的矩阵,记录 178 个样本的 13 个属性;

wine_ labels, 178 × 1的 一个 double 型的列向盘,记录 178 个样本各自的类别标签 。

图1.数据集

2.SVM模型建立

首先需要从原始数据里把训练集和测试集提取出来,然后进行一定的预处理(必要的时候 还需要进行特征提取),之后用训练集对 SVM 进行训练,最后用得到的模型来预测测试集的分类标签。

图2.SVM模型

其中数据预处理采用归一化处理:对训练集和测试集进行归一化预处理,采用的归一化映射如下 。
y=x−xminxmax−xmin(1)y = \frac{x-x_{min}}{x_{max} - x{min}} \tag{1} y=xmax​−xminx−xmin​​(1)

3.基于麻雀算法优化的SVM

麻雀搜索算法的具体原理参考博客:https://blog.csdn.net/u011835903/article/details/108830958。

麻雀算法的优化参数为SVM中惩罚参数c和核函数参数g。适应度函数为SVM对测试集的预测正确率。
finteness=max(accuracy[predict(test)]finteness = max(accuracy[predict(test)] finteness=max(accuracy[predict(test)]

4.测试结果

麻雀参数设置如下:

%目标函数
fun = @getObjValue; %适应度函数
% 优化参数的个数 (c、g)
dim = 2;
% 优化参数的取值下限
lb = [10^-1, 2^-5];
ub = [10^1, 2^4];
pop =10; %麻雀数量
Max_iteration=20;%最大迭代次数

从最终结果来看,经过麻雀优化的SVM测试集预测正确率为100%。而未经过优化的SVM的正确率为98.78%(数据来源于《MATLAB神经网络43个案例分析》)

5.参考文献:

书籍《MATLAB神经网络43个案例分析》

6.Matlab代码

[基于麻雀算法优化的SVM数据分类]
[基于海鸥算法优化的SVM数据分类]
[基于粒子群算法优化的SVM数据分类]
[基于灰狼算法优化的SVM数据分类]
[基于人工蜂群算法优化的SVM数据分类]
[基于布谷鸟算法优化的SVM数据分类
[基于鲸鱼算法优化的SVM数据分类]
[基于萤火虫算法优化的SVM数据分类]
[基于风驱动算法优化的SVM数据分类]
[基于花授粉算法优化的SVM数据分类]
[基于遗传算法优化的SVM数据分类]
[基于狮群算法优化的SVM数据分类]

7.python代码

[基于麻雀算法的SVM分类]
[基于海鸥算法的SVM分类]
[基于灰狼算法的SVM分类]
[基于粒子群算法的SVM分类]
个人资料介绍

基于麻雀搜索算法优化的SVM数据分类预测 - 附代码相关推荐

  1. 基于麻雀搜索算法优化的lssvm回归预测

    基于麻雀搜索算法优化的lssvm回归预测 - 附代码 文章目录 基于麻雀搜索算法优化的lssvm回归预测 - 附代码 1.数据集 2.lssvm模型 3.基于麻雀算法优化的LSSVM 4.测试结果 5 ...

  2. 基于麻雀搜索算法优化的支持向量机回归预测-附代码

    基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 文章目录 基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 1. 基于麻雀搜索算法优化的支持向量机预测简介 1.1 支持向量机 ...

  3. 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码

    路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 文章目录 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法 ...

  4. 单目标应用:基于麻雀搜索算法优化灰色神经网络(grey neural network)的数据预测(提供MATLAB代码)

    一.麻雀搜索算法 麻雀搜索算法(sparrow search algorithm,SSA)由Jiankai Xue等人于2020年提出,该算法是根据麻雀觅食并逃避捕食者的行为而提出的群智能优化算法.S ...

  5. 【SVM分类】基于布谷鸟算法优化实现SVM数据分类matlab源码

    一.神经网络-支持向量机 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能 ...

  6. 【SVM分类】基于狮群算法优化实现SVM数据分类matlab源码

    ​ 一.神经网络-支持向量机 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势, ...

  7. 基于人工蜂群算法改进的DELM预测-附代码

    人工蜂群算法改进的深度极限学习机DELM的回归预测 文章目录 人工蜂群算法改进的深度极限学习机DELM的回归预测 1.ELM原理 2.深度极限学习机(DELM)原理 3.人工蜂群算法 4.人工蜂群算法 ...

  8. 基于粒子群算法改进的DELM预测 -附代码

    粒子群算法改进的深度极限学习机DELM的回归预测 文章目录 粒子群算法改进的深度极限学习机DELM的回归预测 1.ELM原理 2.深度极限学习机(DELM)原理 3.粒子群算法 4.粒子群算法改进DE ...

  9. 遗传算法_粒子群算法优化支持向量机分类预测-附代码

    遗传算法/粒子群算法优化支持向量机分类预测-附代码 文章目录 遗传算法/粒子群算法优化支持向量机分类预测-附代码 1. 支持向量机简介与参数优化的原理 1.1 支持向量机SVM简介 1.2 优化参数的 ...

  10. 【预测模型-ELM预测】基于麻雀算法优化极限学习机预测附matlab代码

    1 内容介绍 一种基于麻雀搜索算法优化极限学习机的风电功率预测方法,具体包括如下步骤:步骤1,确定影响风电功率的主导影响因子:步骤2,构建麻雀搜索算法优化核极限学习机预测模型,通过该模型对风电功率进行 ...

最新文章

  1. 论文阅读 Current Solutions for Web Service Composition
  2. 我们学习效率为什么这么低?CMU和PITT的科学家利用BCI技术对此做了相关研究
  3. Javascript-稳妥构造函数模式
  4. python入门系列:对象引用、垃圾回收、可变性
  5. FreeBSD 8.3 发布
  6. mysql 5.6 gtid 复制_mysql 5.6 gtid复制
  7. 深度学习框架 TensorFlow.NET 0.1.0,完善变量更新操作
  8. Android每日一记
  9. 一篇适合小白的Shiro教程
  10. 用python实现列线图绘制
  11. 计算机右边键盘数字无效,巧妙解决电脑键盘右边的数字键失灵问题
  12. 解决百度地图加载大量点卡顿
  13. 2020,我不想奋斗了
  14. 论:CMMI 过程改进规程
  15. MySql中数据表增加字段很慢
  16. 清华周界详解《基于图神经网络的事实验证》 | 百万人学AI
  17. Java物联网企业级项目 亿可控系统分析与设计
  18. PDF如何插入新的PDF页面
  19. 常见硬件术语手册!绝对权威!(转!)七、显示卡术语解释
  20. python 微信发送图片_使用python向企业微信发送文字和图片消息

热门文章

  1. C++ 类的静态成员变量为什么一定要初始化
  2. python 字符串不相等_python实现找出来一个字符串中最长不重复子串
  3. 分解原理_原理篇 | 推荐系统之矩阵分解模型
  4. Ubuntu18.04下安装配置ORB_SLAM2以及过程中遇到的问题解决方法
  5. vue组件之间的参数传递
  6. 校验json格式_接口的登录状态校验以及JWT
  7. jpa删除数据后数据库无修改_jpa删除数据库
  8. android 样式预处理,基于Android平台的字符识别预处理算法设计与实现
  9. Java程序员开发参考资源
  10. 存储过程别忘了写最后一句话,别忘了类型转换