回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)

news2024/11/23 18:49:42

回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)

目录

    • 回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

1
2
3

基本介绍

回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图),输入多个特征,输出单个变量,多输入单输出回归预测;
多指标评价,代码质量极高;excel数据,方便替换,运行环境2018及以上。

程序设计

  • 完整源码和数据获取方式:私信回复PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据
res = xlsread('data.xlsx');

%%  划分训练集和测试集
temp = randperm(103);

P_train = res(temp(1: 80), 1: 7)';
T_train = res(temp(1: 80), 8)';
M = size(P_train, 2);

P_test = res(temp(81: end), 1: 7)';
T_test = res(temp(81: end), 8)';
N = size(P_test, 2);

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);



%%  仿真测试
t_sim1 = sim(net, p_train);
t_sim2 = sim(net, p_test);

%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);

%%  均方根误差
error1 = sqrt(sum((T_sim1 - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2 - T_test ).^2) ./ N);



%%  相关指标计算
% 决定系数 R2
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;

disp(['训练集数据的R2为:', num2str(R1)])
disp(['测试集数据的R2为:', num2str(R2)])

% 平均绝对误差 MAE
mae1 = sum(abs(T_sim1 - T_train)) ./ M ;
mae2 = sum(abs(T_sim2 - T_test )) ./ N ;

disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])

% 平均相对误差 MBE
mbe1 = sum(T_sim1 - T_train) ./ M ;
mbe2 = sum(T_sim2 - T_test ) ./ N ;

disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718

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

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

相关文章

链表的顶级理解

目录 1.链表的概念及结构 2.链表的分类 单向或者双向 带头或者不带头 循环或者非循环 3.无头单向非循环链表的实现 3.1创建单链表 3.2遍历链表 3.3得到单链表的长度 3.4查找是否包含关键字 3.5头插法 3.6尾插法 3.7任意位置插入 3.8删除第一次出现关键字为key的节点 …

ROS2与ROS1通信

文章目录 准备工作通信包安装启动ros1_bridge在ROS1中启动相机节点在ROS2中查看ROS1话题 准备工作 本机系统20.04 ROS2-foxyROS1-noetic 两个版本的ROS 均需要按照官网教程进行安装,安装完成以后,source环境变量都不放到~/.bashrc文件里面 通信包安装…

MES管理系统和MOM系统哪个更适合中小企业

中小型制造企业需要在选择制造管理系统前进行充分的需求分析和系统评估,结合企业的战略目标和资源状况来做出决策。MES和MOM系统是两种常见的制造管理系统,它们都能够帮助企业提高生产效率、降低生产成本,实现持续发展。然而,MES管…

模糊测试面面观 | 模糊测试对软件质量和性能的影响

随着软件行业的几十年发展和数字化转型的加快,我国已经度过了软件行业的野蛮发展时代。用户对软件的质量和性能要求越来越高,已经成为企业成功与否的至关重要条件。然而,随着软件规模的扩大和黑客攻击方式的多样化,保障软件的安全…

【kubernetes】Helm

什么是 Helm 每个成功的软件平台都有一个优秀的打包系统,比如Debian、Ubuntu 的 apt,RedHat、CentOS 的 yum。Helm 则是 Kubernetes上 的包管理器,方便我们更好的管理应用。 在没使用 helm 之前,向 kubernetes 部署应用&#xf…

昌硕科技、世硕电子同步上线法大大电子合同

近日,世界500强企业和硕联合旗下上海昌硕科技有限公司(以下简称“昌硕科技”)、世硕电子(昆山)有限公司(以下简称“世硕电子”)的电子签项目正式上线。上线仪式在上海浦东和硕集团科研大楼举行&…

VSCode如何为远程安装预设(固定)扩展

背景 在使用VSCode进行远程开发时(python开发之远程开发工具选择_CodingInCV的博客-CSDN博客),特别是远程的机器经常变化时(如机器来源于动态分配),每次连接新的远程时,都不得不手动安装一些开…

操作系统-笔记-第四章-文件管理

目录 四、第四章——文件管理 1、文件管理——基础概念 (1)文件结构 (2)操作系统提供的接口 (3)总结 2、文件的逻辑结构 (1)有结构文件(类似SQL表文件&#xff09…

数据分析案例丨商品零售购物篮分析(下)

数据分析案例丨商品零售购物篮分析(上) 03 数据预处理 通过对数据探索分析,发现数据数据完整,并不存在缺失值。建模之前需要转变数据的格式,才能使用apriori函数进行关联分析。对数据进行转换,如代码清单…

TIA博途中的数据类型基本介绍

TIA博途中的数据类型基本介绍 基本数据类型 Bool 布尔 FALSE 或TRUE 举例: I0.0 Q0.2 M100.0 DB0.DBX2.5 Byte 字节 二进制:2#0000 0000 到2#1111 1111 无符号整数:0到255 有符号整数:-128到127 十六进制:16#00到16#FF 举例: IB2 MB100 DB1.DBB2 Word 字 二进制:2#0000 …

钉钉公布AI版本商业定价,调用一次大模型不到5分钱

8月22日,在2023年钉钉生态大会上,钉钉总裁叶军公布了钉钉全面智能化的最新进展:已有17条产品线、55个场景全面接入大模型,完成智能化再造;钉钉同时面向生态伙伴和客户开放智能化底座AI PaaS,表示将用大模型…

基于Java水果售卖系统设计与实现(论文+源码)_kaic

第1章 绪 论 1.1 课题研究的背景 随着信息技术的发展,互联网经济快速兴起,电子商务发展迅速,网上购物受到人们的广泛关注和普遍欢迎。水果传统售卖模式的缺点不断暴露,不能满足当今人们快节奏的生活模式需要。将水果的售卖带…

Dubbo服务

dubbo服务分为服务的提供者和消费者 1.服务提供者在nacos注册后通过 DubboService 暴漏服务 2.dubbo服务消费者通过 DubboReference来进行远程服务调用 dubbo的高级特性 1.启动检查:如果启动消费者无提供者则报错,通过配置文件check: fa…

实战演练 | Navicat 导入向导

数据库工具中的导入导出功能是指将数据从一个数据库系统导出到另一个数据库系统,或者将数据从一个文件格式导出到另一个文件格式。导入导出功能可以通过各种方式实现,例如使用SQL语句、数据库管理工具或第三方库和工具。在进行数据迁移时,通常…

排序算法合集

F B I W a r n i n g : \color{red}FBI \qquad Warning: FBIWarning: 本人没有完整的计算机科班的教育经历,但是一直在兢兢业业,努力学习。 这些排序函数都是自己零零散散写的,也没有经过深思熟虑和优化,纯粹是为了自娱自乐。 …

c++ qt--信号与槽(一) (第三部分)

c qt–信号与槽(一) (第三部分) 一.用qt自带的方法添加信号槽 1.第一种 1.如何添加 2.在何处进行绑定 2.第二种 1.如何添加 2.在何处进行绑定 而且会在mainwindow.h中添加槽函数的声明,在mainwindow.cpp中添加槽函数的定义 在mainwindow…

C语言入门 Day_8数据与运算小结

目录 前言 1.精度 2.运算 2.易错点 3.思维导图 前言 到目前为止我们一共学习了四种数据类型,他们分别是表示整数的整型;表示小数的浮点型;表示字符的字符型;和表示布尔数的布尔型。 表示整数的整型,它的变量类型名…

如何搭建智能问答FAQ的底层数据基础呢?

搭建智能问答FAQ的底层数据基础是构建一个高效和准确的问答系统的关键。在这篇文章中,我们将探讨如何搭建智能问答FAQ的底层数据基础,并介绍需要注意的几个方面。 一、了解智能问答FAQ的概念和优势 智能问答FAQ是一种基于人工智能技术的问答系统&#…

趣解设计原则之单一职责(论一个小老板的发家史)

一、前言 今天我们来聊一聊设计原则中的单一职责,还是按照惯例,先介绍一下含义,然后呢,我们再来讲一个小故事。 单一职责(SRP:Single Reposibility Principle)的定义: 一个类或者模…

static的使用

static的使用 在C语言中,static是一个关键字,用于指定变量、函数和代码块的作用域和生命周期。 用法: 静态变量 1.修饰变量:使用static关键字声明的变量是静态变量,它们的作用域被限制在定义它们的源文件中&#x…