当前位置: 首页 > news >正文

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测

目录

    • 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测
      • 预测效果
      • 基本描述
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本描述

1.Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测(完整源码和数据)

2.选择最佳的SVM核函数参数c和g;

3.多特征输入单输出的回归预测。程序内注释详细,excel数据,直接替换数据就可以用。

4.程序语言为matlab,程序可出预测效果图,迭代优化图,相关分析图,运行环境matlab2020b及以上。评价指标包括:R2、RPD、MSE、RMSE、MAE、MAPE等。

5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式资源处下载Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测。
%%  参数设置
%%  优化算法
[Best_score,Best_pos, curve] = SO(pop, Max_iteration, lb, ub, dim, fun); %%  获取最优参数
bestc = Best_pos(1, 1);  
bestg = Best_pos(1, 2); %%  建立模型
cmd = [' -t 2 ', ' -c ', num2str(bestc), ' -g ', num2str(bestg), ' -s 3 -p 0.01 '];
model = svmtrain(t_train, p_train, cmd);%%  仿真预测
[t_sim1, error_1] = svmpredict(t_train, p_train, model);
[t_sim2, error_2] = svmpredict(t_test , p_test , model);%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
T_sim1 =T_sim1';
T_sim2 =T_sim2';
%%  适应度曲线
figure;
plot(1 : length(curve), curve, 'LineWidth', 1.5);
title('适应度曲线', 'FontSize', 13);
xlabel('迭代次数', 'FontSize', 13);
ylabel('适应度值', 'FontSize', 13);
grid
set(gcf,'color','w')%%  相关指标计算
%%  均方根误差
toc
%% 测试集结果
figure;
plotregression(T_test,T_sim2,['回归图']);
set(gcf,'color','w')
figure;
ploterrhist(T_test-T_sim2,['误差直方图']);
set(gcf,'color','w')
%%  均方根误差 RMSE
error1 = sqrt(sum((T_sim1 - T_train).^2)./M);
error2 = sqrt(sum((T_test - T_sim2).^2)./N);%%
%决定系数
R1 = 1 - norm(T_train - T_sim1)^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test -  T_sim2)^2 / norm(T_test -  mean(T_test ))^2;%%
%均方误差 MSE
mse1 = sum((T_sim1 - T_train).^2)./M;
mse2 = sum((T_sim2 - T_test).^2)./N;
%%
%RPD 剩余预测残差
SE1=std(T_sim1-T_train);
RPD1=std(T_train)/SE1;SE=std(T_sim2-T_test);
RPD2=std(T_test)/SE;
%% 平均绝对误差MAE
MAE1 = mean(abs(T_train - T_sim1));
MAE2 = mean(abs(T_test - T_sim2));
%% 平均绝对百分比误差MAPE
MAPE1 = mean(abs((T_train - T_sim1)./T_train));
MAPE2 = mean(abs((T_test - T_sim2)./T_test));

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229

相关文章:

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SO-SVR蛇群算法优化支持向量机的数据多…...

光耦知识分享:如何挑选合适的可控硅光耦型号

可控硅光耦是一种光电耦合器件,它结合了光敏元件(通常是光敏二极管)和可控硅器件(如普通可控硅或三端可控硅)的特性。它的工作原理是利用光信号控制可控硅的导通和截止,从而实现对电路的控制。 可控硅光耦…...

MySql Explain优化命令使用

MySql Explain优化命令使用 truncate table student // 自增id 从 0 开始 delete from student // 自增id 会保留 , 108 区别: 1:自增id 2:delete 可以恢复 truncate 无法恢复 前言 EXPLAIN 是一个用于获取 SQL 语句执行计划的…...

Android NestedScrollView+TabLayout+ViewPager+ 其它布局,ViewPager 不显示以及超出屏幕不显示问题

前言 此场景为 NestedScrollView 嵌套多个布局 ,大致结构为 NestedScrollViewTabLayoutViewPagerfragment 其它View,如下图 , 一、ViewPager 设置高度才会显示内容问题 原因:NestedScrollView 计算高度先于 ViewPager 渲染前,所…...

Linux开机logo设置

本文介绍Linux开机logo设置。 常用的Linux开机logo设置工具有fbi(Linux Framebuffer Imageviewer),plymouth等,本文针对fbi工具进行开机logo设置。 1.fbi工具安装 命令行下,输入: sudo apt-get install fbi -y 安装完毕后&am…...

webpack插件开发 模拟vue系统登录后,获取a标签下的文件

浏览器插件开发中,在webpack插件开发中,模拟Vue系统登录后获取a标签下的文件,可以通过监听某个登录事件,并在事件处理函数中修改Webpack的输出配置来实现。以下是一个简化的示例代码: // 假设有一个插件构造函数 Logi…...

大规模数据处理:分库分表与数据迁移最佳实践

什么是分库分表 分库分表是一种数据库架构优化策略,它将数据分散存储在多个数据库或表中,以此来提高系统的可扩展性和性能。 虽然分库分表能够提升系统的整体性能,但是也不要一上来就分库分表,如果系统在单表的情况下&#xff0…...

TCP网络编程概述、相关函数、及实现超详解

文章目录 TCP网络编程概述1. TCP协议的特点2. TCP与UDP的差异3. TCP编程流程 TCP网络编程相关函数详解1. socket():创建套接字参数说明:返回值:示例: 2. connect():客户端连接服务器参数说明:返回值&#x…...

Cluade 3.5 Sonnet 提示词泄露

prompt 翻译: The notebook currently demonstrates support for a two agent setup. Support for GroupChat is currently in development....

git clone代码报错Permission denied (publickey)

git clone gerrit SSH的Clone with commit-msg hook代码连接,报错Permission denied (publickey). 一般在C:\Users\用户名.ssh文件夹下有一个id_rsa.pub文件 把文件里的内容复制 到gerrit网站上User Settings的SSH keys里 在New SSH key里粘贴刚刚复制的内容&…...

QT设计中文输入法软键盘DLL给到C#开发步骤

开发目的:本文提供解决触摸屏C#程序中无法输入中文问题,中文拼音采用开源的谷歌输入法程序、使用QT编译中文输入法界面和中文输入法接口给到C#使用。 开发步骤: 1、QT中设计字母和字符输入界面 2、QT中设计数字输入界面 3、QT中封装调用谷歌…...

使用 Rust 和 wasm-pack 开发 WebAssembly 应用

一、什么是 WebAssembly? WebAssembly 是一种运行在现代 Web 浏览器中的新型二进制指令格式。它是一种低级别的字节码,可以被多种语言编译,并在浏览器中高效运行。 1.1 WebAssembly 的背景与概念 高性能计算:WebAssembly 旨在提…...

1. IP地址介绍

IP地址 一、网络概述1、网络类型2、网络组成、传输介质2.1 组成2.2 传输介质 二、IP地址1、IP地址的表示方法2、IP地址的组成3、IP地址的类型3.1 根据IP地址第一个字节大小来分3.1.1 单播地址 Unicast 3.2 根据IP地址的使用 三、子网掩码 netmask1、默认的子网掩码2、判断多个I…...

喜报来袭~又有一波优秀企业选择Smartbi

近期,大金(中国)武汉&广州分公司、中广核智能、新疆银行、四川省人民医院等多家知名企业/机构签约Smartbi,数智化建设再上新高度! Smartbi数10年专注于商业智能BI与大数据分析软件与服务,为各行各业提…...

Web端云剪辑解决方案,BS架构私有化部署,安全可控

传统视频制作流程繁琐、耗时,且对专业设备和软件的高度依赖,常常让企业望而却步,美摄科技凭借其强大的技术实力和创新能力,推出了面向企业用户的Web端云剪辑解决方案,为企业提供一站式、高效、便捷的视频生产平台。 B…...

AI 代码助手插件推荐

AI正在重塑我们的工作方式,软件开发也不例外。AI编码助手使开发人员能够比以往更快、更有效地编写代码。 在本文中,我们将比较几个个最好的AI编码助手,突出它们的独特功能和价格,以帮助读者找到完美的编码伙伴: 1、腾讯云 AI 代…...

word中的表格全部设置宽度100%

1、背景 我们用工具将数据库或其他的数据导出成word时,表格有的会大于100%,超过了边界。word没有提供全局修改的方法。如果我们想改成100%。 一种方式是通过宏,全局改。一种是手动改。 2、宏修改 如果表格多,可以通过这种方式。…...

JFinal整合Websocket

学习笔记&#xff0c;供大家参考 总结的不错的话&#xff0c;记得点赞收藏关注哦&#xff01;导入JAR包 javax.websocket-api <dependency><groupId>javax.websocket</groupId><artifactId>javax.websocket-api</artifactId><version>1.1&…...

(done) 声音信号处理基础知识(7) (Understanding Time Domain Audio Features)

参考&#xff1a;https://www.youtube.com/watch?vSRrQ_v-OOSg&t1s 时域特征包括&#xff1a; 1.幅度包络 2.均方根能量 3.过零率 振幅包络的定义&#xff1a;一个 frame 里&#xff0c;所有采样点中最大的振幅值 一个形象的关于振幅包络的可视化解释如下&#xff1a;…...

拓数派荣获上海数据交易所“数据治理服务商”认证

近期&#xff0c;杭州拓数派科技发展有限公司&#xff08;以下简称“拓数派”&#xff09;荣获上海数据交易所“数据治理服务商”认证&#xff0c;标志着拓数派正式加入上海数据交易所数商生态&#xff0c;成为上海数据交易所官方认证的数据治理服务商。拓数派企业发展部总监吴…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...