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

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

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

目录

    • 回归预测 | 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.lryc.cn/news/443063.html

相关文章:

  • 年度最强悬疑美剧重磅回归,一集比一集上头
  • AI一点通: 简化大数据与深度学习工作流程, Apache Spark、PyTorch 和 Mosaic Streaming
  • Python知识点:深入理解Python的模块与包管理
  • 倒排索引(反向索引)
  • openCV的python频率域滤波
  • 探索视频美颜SDK与直播美颜工具的开发实践方案
  • Linux通过yum安装Docker
  • 面部表情数据集合集——需要的点进来
  • AI学习指南深度学习篇-Adagrad的Python实践
  • vue2使用npm引入依赖(例如axios),报错Module parse failed: Unexpected token解决方案
  • MySQl篇(基本介绍)(持续更新迭代)
  • Java开发与实现教学管理系统动态网站
  • 麒麟操作系统 MySQL 主从搭建
  • OSSEC搭建与环境配置Ubuntu
  • 【RabbitMQ】消息分发、事务
  • mysql mha高可用集群搭建
  • 如何解决“json schema validation error ”错误? -- HarmonyOS自学6
  • 基于Jeecg-boot开发系统--后端篇
  • Spring Boot实战:使用@Import进行业务模块自动化装配
  • Golang | Leetcode Golang题解之第415题字符串相加
  • 5. 数字证书与公钥基础设施
  • Centos中关闭swap分区,关闭内存交换
  • leetcode练习 二叉树的最大深度
  • Scrapy爬虫框架 Items 数据项
  • weblogic CVE-2018-2894 靶场攻略
  • 百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现
  • C++(2)进阶语法
  • 解决Hive乱码问题
  • Streamlit:使用 Python 快速开发 Web 应用
  • C#基础(11)函数重载