回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测

embedded/2024/9/23 1:45:46/

ReliefFXGBoost_1">回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测

目录

效果一览

在这里插入图片描述

基本介绍

1.ReliefF-xgboost回归预测代码,对序列数据预测性能相对较高。首先通过ReleifF对输入特征计算权重排序后筛选,再通过xgboost模型预测输出。数据是excel格式。
2.运行环境为Matlab2021b;
3.excel数据集,输入多个特征,输出单个变量,多变量回归预测预测,main.m为主程序,运行即可,所有文件放在一个文件夹;
4.命令窗口输出R2、MAE、 MBE、MAPE、 RMSE多指标评价;
代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

程序设计

  • 完整源码和数据获取方式私信回复Matlab实现ReliefF-XGBoos多变量回归预测。
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行%%  导入数据
res =xlsread('data.xlsx','sheet1','A2:H104');%%  数据分析
num_size = 0.7;                              % 训练集占数据集比例
outdim = 1;                                  % 最后一列为输出
num_samples = size(res, 1);                  % 样本个数
res = res(randperm(num_samples), :);         % 打乱数据集(不希望打乱时,注释该行)
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);f_ = size(P_train, 1);                  % 输入特征维度%%  数据归一化
[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);%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  数据转置
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test'; 
%%  设置参数
num_trees = 100;                  % 树的数量
params.objective = 'reg:linear';  % 线性函数
params.max_depth = 5;             % 最大深度
%%  建立模型
model = xgboost_train(p_train, t_train, params, num_trees);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  预测
t_sim1 = xgboost_test(p_train, model);
t_sim2 = xgboost_test(p_test,  model);
%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1', p_output);
T_sim2 = mapminmax('reverse', t_sim2', p_output);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% V. 评价指标
%%  均方根误差 RMSE
error1 = sqrt(sum((T_sim1(1,:) - T_train(1,:)).^2)./M);
error2 = sqrt(sum((T_test(1,:) - T_sim2(1,:)).^2)./N);
————————————————版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/kjm13182345320/article/details/128107434

参考资料

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


http://www.ppmy.cn/embedded/115341.html

相关文章

C#学习(四)C#连接Mysql实现增删改查

博主刚开始接触C#,本系列为学习记录,如有错误欢迎各位大佬指正!期待互相交流! 文章目录 一、安装Mysql1.1 启用Mysql1.2 登录Mysql 二、安装Navicat2.1 建立连接2.2 新建数据库2.3 新建表 三、创建Winform实现增、删、改、查3.1 下…

系统架构设计师教程 第5章 5.4 软件测试 笔记

5.4 软件测试 5.4.1 测试方法 ★★★★★ 软件测试方法的分类有很多种, 以测试过程中程序执行状态为依据可分为静态测试 (Static Testing,ST) 和动态测试 (Dynamic Testing,DT); 以具体实现算法细节和系统内部结构的相关情况为根据可分黑盒测试、白盒测试和灰盒测…

UE5-俯视角色移动(蓝图)01

效果如下: 蓝图节点如下: 使用示例自带的移动蓝图,发现角色只能平移,不会转向。必须勾选以下选项: 点击蓝图-》组件-》SpringArm节点。在细节中找到摄像机设置,勾选以下: 在 点击蓝图-》组件-…

C++:多态(协变,override,final,纯虚函数抽象类,原理)

目录 编译时多态 函数重载 模板 运行时多态 多态的实现 实现多态的条件 协变 析构函数的重写 override 关键字 final 关键字 重载、重写、隐藏对比 纯虚函数和抽象类 多态的原理 多态是什么? 多态就是有多种形态 多态有两种,分别是编译时…

Redisson 总结

1. 基础使用 1.1 引入依赖 <dependencies><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId></dependency> </dependencies>包含的依赖如下 1.2 配置文件 其实默认主机就…

水下攻防面试题

水下攻防面试题通常涉及对水下环境的理解、水下安全操作、水下技术应用以及攻防策略等多个方面。由于具体的面试题可能因组织、职位和目的的不同而有所差异,以下是一些可能出现在水下攻防面试中的典型问题及其参考答案框架: 一、基础概念与理解 什么是水下攻防? 水下攻防是…

整数二分算法和浮点数二分算法

整数二分算法和浮点数二分算法 二分 现实中运用到二分的就是猜数字的游戏 假如有A同学说B同学所说数的大小&#xff0c;B同学要在1~100中间猜中数字65&#xff0c;当B同学每次说的数都是范围的一半时这就算是一个二分查找的过程 二分查找的前提是这个数字序列要有单调性 基…

KDD 2024论文分享┆STAMP:一种基于时空图神经网络的微服务工作负载预测方法

论文分享简介 本推文详细介绍了一篇最新论文成果《Integrating System State into Spatio Temporal Graph Neural Network for Microservice Workload Prediction》&#xff0c;论文的作者包括&#xff1a;上海交通大学先进网络实验室: 罗旸、高墨涵、余哲梦&#xff0c;高晓沨…