【MATLAB第91期】基于MATLAB的高斯过程、核函数、树模型多输入多输出回归预测模型合集(TGP、KRR、RVM、KSNR、SKRR、RKS、LSBoost、CCF、RLR)
本文展示多种非常用多输入多输出回归预测模型效果,精力不够,原理还需自行研究。
注:每次运行数据训练集测试集为随机,故对比不严谨,不能完全反映模型效果。
通用代码展示
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
addpath(genpath('funcs')); % 添加函数路径
%% 选择模型
METHODS = {'XXX'}
%% 导入数据
res = xlsread('数据集.xlsx');
%% 划分训练集和测试集
temp = randperm(103);
P_train = res(temp(1: 80), 1: 6)';
T_train = res(temp(1: 80), 7:8)';
M = size(P_train, 2);
P_test = res(temp(81: end), 1: 6)';
T_test = res(temp(81: end), 7: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);
%% 转置以适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
(TGP、KRR、RVM、KSNR、SKRR、RKS、LSBoost、CCF、RLR)
一、高斯过程模型
1、双高斯过程(TGP)
Training TGP…
变量1 训练集数据的R2为:0.98087
变量1 测试集数据的R2为:0.97326
变量1 训练集数据的MAE为:6.9547
变量1 测试集数据的MAE为:7.545
变量1 训练集数据的MBE为:-0.0024311
变量1 测试集数据的MBE为:-2.8666
变量2 训练集数据的R2为:0.90733
变量2 测试集数据的R2为:0.81402
变量2 训练集数据的MAE为:1.7678
变量2 测试集数据的MAE为:2.4016
变量2 训练集数据的MBE为:-1.9863e-05
变量2 测试集数据的MBE为:-0.19222
二、核函数方法
1、核岭回归(KRR)
Training KRR…
变量1 训练集数据的R2为:0.99915
变量1 测试集数据的R2为:0.98183
变量1 训练集数据的MAE为:1.2477
变量1 测试集数据的MAE为:5.8575
变量1 训练集数据的MBE为:-4.2837e-05
变量1 测试集数据的MBE为:-2.7814
变量2 训练集数据的R2为:0.99858
变量2 测试集数据的R2为:0.99425
变量2 训练集数据的MAE为:0.22051
变量2 测试集数据的MAE为:0.33985
变量2 训练集数据的MBE为:3.6179e-06
变量2 测试集数据的MBE为:0.013772
2、相关向量机(RVM)
Training RVM…
变量1 训练集数据的R2为:0.98823
变量1 测试集数据的R2为:0.9854
变量1 训练集数据的MAE为:5.0805
变量1 测试集数据的MAE为:5.6521
变量1 训练集数据的MBE为:0.045379
变量1 测试集数据的MBE为:3.3589
变量2 训练集数据的R2为:0.98431
变量2 测试集数据的R2为:0.97843
变量2 训练集数据的MAE为:0.79108
变量2 测试集数据的MAE为:0.91123
变量2 训练集数据的MBE为:0.072536
变量2 测试集数据的MBE为:-0.37246
3、内核信噪比回归(KSNR)
Training KSNR…
变量1 训练集数据的R2为:0.9751
变量1 测试集数据的R2为:0.96484
变量1 训练集数据的MAE为:7.5739
变量1 测试集数据的MAE为:9.1483
变量1 训练集数据的MBE为:0.42726
变量1 测试集数据的MBE为:-2.8704
变量2 训练集数据的R2为:0.93528
变量2 测试集数据的R2为:0.91867
变量2 训练集数据的MAE为:1.6069
变量2 测试集数据的MAE为:1.3916
变量2 训练集数据的MBE为:-0.25309
变量2 测试集数据的MBE为:0.5783
4.1、结构化核岭回归(SKRRlin线性核函数)
Training SKRRlin…
变量1 训练集数据的R2为:0.99763
变量1 测试集数据的R2为:0.99868
变量1 训练集数据的MAE为:1.9628
变量1 测试集数据的MAE为:1.6143
变量1 训练集数据的MBE为:-0.0091399
变量1 测试集数据的MBE为:0.028739
变量2 训练集数据的R2为:0.99756
变量2 测试集数据的R2为:0.99891
变量2 训练集数据的MAE为:0.27663
变量2 测试集数据的MAE为:0.21806
变量2 训练集数据的MBE为:-0.0069942
变量2 测试集数据的MBE为:0.024334
4.2、结构化核岭回归(SKRRrbf径向基核函数)
Training SKRRrbf…
变量1 训练集数据的R2为:0.99976
变量1 测试集数据的R2为:0.99972
变量1 训练集数据的MAE为:0.64793
变量1 测试集数据的MAE为:0.80532
变量1 训练集数据的MBE为:0.023833
变量1 测试集数据的MBE为:-0.15628
变量2 训练集数据的R2为:0.9997
变量2 测试集数据的R2为:0.99976
变量2 训练集数据的MAE为:0.10304
变量2 测试集数据的MAE为:0.079259
变量2 训练集数据的MBE为:-0.008164
变量2 测试集数据的MBE为:0.01593
5、随机Kitchen Sinks回归(RKS)
Training RKS…
变量1 训练集数据的R2为:0.99992
变量1 测试集数据的R2为:0.98371
变量1 训练集数据的MAE为:0.40741
变量1 测试集数据的MAE为:6.3694
变量1 训练集数据的MBE为:-0.00071096
变量1 测试集数据的MBE为:0.11852
变量2 训练集数据的R2为:0.9999
变量2 测试集数据的R2为:0.99015
变量2 训练集数据的MAE为:0.05009
变量2 测试集数据的MAE为:0.68693
变量2 训练集数据的MBE为:-9.6417e-05
变量2 测试集数据的MBE为:-0.30168
6、多元向量机回归(MSVR)
Training MSVR…
变量1 训练集数据的R2为:0.99871
变量1 测试集数据的R2为:0.98887
变量1 训练集数据的MAE为:1.4495
变量1 测试集数据的MAE为:4.5065
变量1 训练集数据的MBE为:-0.0017672
变量1 测试集数据的MBE为:-1.39
变量2 训练集数据的R2为:0.99833
变量2 测试集数据的R2为:0.98701
变量2 训练集数据的MAE为:0.21874
变量2 测试集数据的MAE为:0.6825
变量2 训练集数据的MBE为:-0.00032736
变量2 测试集数据的MBE为:0.14567
三、树模型方法
1、增强随机森林(LSBoost)
Training LSBoost…
变量1 训练集数据的R2为:1
变量1 测试集数据的R2为:-0.010685
变量1 训练集数据的MAE为:2.1316e-14
变量1 测试集数据的MAE为:44.8171
变量1 训练集数据的MBE为:4.2633e-15
变量1 测试集数据的MBE为:-19.3952
变量2 训练集数据的R2为:1
变量2 测试集数据的R2为:0.57531
变量2 训练集数据的MAE为:5.9064e-15
变量2 测试集数据的MAE为:3.9493
变量2 训练集数据的MBE为:2.2649e-15
变量2 测试集数据的MBE为:-1.4049
2、典型相关森林(CCF)
Training CCF…
变量1 训练集数据的R2为:0.96376
变量1 测试集数据的R2为:0.83797
变量1 训练集数据的MAE为:8.3592
变量1 测试集数据的MAE为:20.7692
变量1 训练集数据的MBE为:2.2737e-14
变量1 测试集数据的MBE为:-1.7003
变量2 训练集数据的R2为:0.97943
变量2 测试集数据的R2为:0.8369
变量2 训练集数据的MAE为:0.83563
变量2 测试集数据的MAE为:1.8271
变量2 训练集数据的MBE为:1.4166e-14
变量2 测试集数据的MBE为:-0.77496
四、线性模型
1、正则化最小二乘线性回归(RLR)
Training RLR…
变量1 训练集数据的R2为:-0.15502
变量1 测试集数据的R2为:-0.062343
变量1 训练集数据的MAE为:55.0336
变量1 测试集数据的MAE为:60.3179
变量1 训练集数据的MBE为:-2.802
变量1 测试集数据的MBE为:-21.0399
变量2 训练集数据的R2为:0.8649
变量2 测试集数据的R2为:0.93828
变量2 训练集数据的MAE为:1.9576
变量2 测试集数据的MAE为:1.7868
变量2 训练集数据的MBE为:-0.14888
变量2 测试集数据的MBE为:0.33631
五、代码获取
1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,回复“91期”以及相应指令,即可获取对应下载方式。