回归预测 | Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测

news2024/10/2 5:31:26

回归预测 | Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测

目录

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

预测效果

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

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

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

基本描述

1.Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测(完整源码和数据)
2.选择最佳的SVM核函数参数c和g;
3.多特征输入单输出的回归预测。程序内注释详细,excel数据,直接替换数据就可以用。
4.程序语言为matlab,程序可出预测效果图,迭代优化图,相关分析图,运行环境matlab2020b及以上。评价指标包括:R2、RPD、MSE、RMSE、MAE、MAPE等。
5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式资源处下载Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测。
%%  参数设置
%%  优化算法
[Best_score,Best_pos, curve] = (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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2183830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSP-J Day 1 模拟赛补题报告

姓名:王胤皓,校区:和谐校区,考试时间:2024年10月1日9:00:00~12:30:00,学号:S07738 CSP-J Day 1 模拟赛补题报告 前言 考了我们班 Rank 1 1 1。 本人在发烧状态下进行写作,勿喷。…

MySQL 问题小结

mysqld --initialize 初始化 data 文件夹 初始化的密码在这个 err 文件夹中

力扣题解 983

大家好,欢迎来到无限大的判断,祝大家国庆假期愉快 题目描述(中等) 最低票价 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出…

AI学习记录 -transformer 中对于torch和numpy常用函数的使用方式

在transformer源码中,使用了很多矩阵变换的方法,这些方法太多了,了解底层也没啥意义,也不是啥特别复杂的算法。 所以争取一句话描述这些方法,对照着看transformer的时候,可以衔接自己的思维链。 torch.un…

python访问SQL数据库

Step 1 创建一个数据库 Step 2 安装mysql-connector-python pip install mysql-connector-pythonStep 3 访问mysql,并查询表 import mysql.connectordef connect_and_query():try:# 连接到MySQL数据库connection mysql.connector.connect(hostlocalhost, # 数据库主机…

闯关训练一:Linux基础

闯关任务:完成SSH连接与端口映射并运行hello_world.py 1.创建开发机 2.SSH连接 3. VS-Code 连接 选择 Linux 平台 ,输入密码 ,选择进入文件夹 4.端口映射 按照下文安装Docs pip install gradio 运行server.py import gradio as grdef …

Python核心知识:pip使用方法大全

什么是 pip? pip 是 Python 的包管理工具,允许用户安装、升级和管理 Python 的第三方库和依赖。它极大地简化了开发过程,使开发者可以轻松地获取并安装所需的软件包。pip 已成为 Python 项目中最常见的包管理工具,并且自 Python …

【Linux】几种常见配置文件介绍

配置文件目录 linux 系统中有很多配置文件目录/etc/systemd/system、/lib/systemd/system 以及/usr/lib/systemd/system 等,这三者有什么样的关系呢? 以下是网络上找的资料汇总,并加了一些操作验证。方便后期使用 介绍 目录/lib/systemd/s…

虚拟机窗口顶部和底部出现白边(鸿蒙开发)

预览窗口顶部和底部出现白边 问题描述:预览窗口顶部和底部都有白边,导致无法全屏显示 解决方法: 官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-previewer-operating-6-V5 这里官方文档给了两种…

【有啥问啥】AI中的数据融合(Data Fusion):让数据“1+1>2”

AI中的数据融合(Data Fusion):让数据“11>2” 引言 在人工智能(AI)的浪潮中,数据作为驱动创新的核心要素,其重要性不言而喻。随着物联网(IoT)、传感器技术和云计算的…

基于单片机远程家电控制系统设计

本设计基于单片机的远程家电控制系统,以STC89C52单片机为核心,通过液晶LCD1602实时显示并控制,利用ESP8266WiFi模块实现本地与云平台的连接,最终实现远程对于灯光,热水器等家电的开关控制。同时,系统设有防…

pdf怎么编辑修改内容?详细介绍6款pdf编辑器功能

■ pdf怎么编辑修改内容? PDF(Portable Document Format)作为一种广泛使用的文件格式,具有特点包括兼容性强、易于传输、文件安全性高、跨平台性、可读性强、完整性、可搜索性、安全性、可压缩性。 PDF文件本身是不可以直接进行编…

认知杂谈73《成年人的修炼:勇敢前行,积极向上》

内容摘要: 成长是成年人的必修课,它要求我们不断学习、面对挑战、做出选择、调整行动。成长的必要性在于适应社会、实现自我价值。实现成长的策略包括自我掌舵、自救、为结果负责、保持积极心态。 追求艺术或商业目标、自己解决问题、承担责任、换个角度…

OpenAI o1:使用限额提高,o1 模型解析

OpenAI 最新公告 OpenAI 近日宣布对 o1-mini 和 o1-preview 的消息使用限额进行了提升,让 Plus 和 Team 用户可以更频繁地体验 o1 系统。具体来说,o1-mini 的限额从每周 50 条增加到了每天 50 条,而 o1-preview 的限额则从每周 30 条提升到了…

【算法】链表:21.合并两个有序链表(easy)

系列专栏 《分治》 《模拟》 《Linux》 目录 1、题目链接 2、题目介绍 3、解法(双指针) 4、代码 1、题目链接 21. 合并两个有序链表 - 力扣(LeetCode) 2、题目介绍 3、解法(双指针) 推荐一篇题解…

Arduino UNO R3自学笔记13 之 Arduino使用LM35如何测量温度?

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。 前言:学习使用传感器测温。 1.LM35介绍 一般来讲当知道需求,就可以 通过既定要求的条件来筛选需要的器件,多方面的因素最终选定了器件…

c语言实例

大家好,欢迎来到无限大的频道 今天给大家带来的是c语言 题目描述 创建一个双链表,并将链表中的数据输出到控制台,输入要查找的数据,将查找到的数据删除,并且显示删除后的链表 下面是一个用C语言实现的双链表&#…

数据结构-4.2.串的定义和基本操作

一.串的定义: 1.单/双引号不是字符串里的内容,他只是一个边界符,用来表示字符串的头和尾; 2.空串也是字符串的子串,空串长度为0; 3.字符的编号是从1开始,不是0; 4.空格也是字符&a…

Windows 11 安装配置 Git 教程

目录 Git Windows 11 环境安装配置 Git Git Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。Git是目前世界上最流行的版本控制系统,广泛应用于软件开发中。 以下是Git的一些关键特…

Python空间地表联动贝叶斯地震风险计算模型

🎯要点 使用贝叶斯推断模型兼顾路径和场地效应,量化传统地理统计曲线拟合技术。使用破裂和场地特征等地质信息以及事件间残差和事件内残差描述数学模型模型使用欧几里得距离度量、角距离度量和土壤差异性度量确定贝叶斯先验分布和后验分布参数&#xff…