回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测

回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测

效果一览

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

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

基本介绍

1.Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测;
2.输入7个特征,输出1个,即多输入单输出;
3.运行环境Matlab2018及以上,运行主程序main即可,其余为函数文件无需运行,所有程序放在一个文件夹,data为数据集;
4.优化随机森林树数目、叶子节点数,命令窗口输出RMSE、MSE、R2、MAPE等评价指标。

程序设计

  • 完整程序和数据下载方式私信博主回复Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测
clc
clear 
close all
rng('default');
%% 导入数据
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据
res = xlsread('data.xlsx','sheet1');
%%  数据分析
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);


%% 归一化
% 训练集
[Pn_train,inputps] = mapminmax(P_train,-1,1);
Pn_test = mapminmax('apply',P_test,inputps);
% 测试集
[Tn_train,outputps] = mapminmax(T_train,-1,1);
Tn_test = mapminmax('apply',T_test,outputps);
Pn_train = Pn_train';
Pn_test = Pn_test';
Tn_train = Tn_train';
Tn_test = Tn_test';

% 调整参数,考虑调整:
% 森林中树木的复杂程度(深度)。 深树倾向于过度拟合,而浅树倾向于欠拟合。 因此,指定每片叶子的最少观察数为20% 生长树木时,在每个节点上采样的预测变量的数量。 指定从1到所有预测变量的采样。

参考资料

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

最近更新

  1. TCP协议是安全的吗?

    2024-04-28 20:50:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-28 20:50:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-28 20:50:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-28 20:50:03       18 阅读

热门阅读

  1. 【VUE】moment.js 时间日期格式化工具

    2024-04-28 20:50:03       12 阅读
  2. vue3 ts table合计样式更改

    2024-04-28 20:50:03       10 阅读
  3. MySQL详细步骤及案列

    2024-04-28 20:50:03       12 阅读
  4. maya 设置半径 获取时长,设置时长

    2024-04-28 20:50:03       12 阅读
  5. react写一个从下往上划出的弹框弹窗组件

    2024-04-28 20:50:03       10 阅读
  6. redis 键常用命令

    2024-04-28 20:50:03       11 阅读
  7. AI作画算法原理详解

    2024-04-28 20:50:03       10 阅读
  8. [GN] 车300笔试记

    2024-04-28 20:50:03       10 阅读