【MATLAB第90期】基于MATLAB的高斯过程、核函数、树模型、近邻模型等多输入单输出回归预测模型合集(RLR、ARES、WKNNR、KSNR、RKS、VHGPR、WGPR、SSGPR、TGP)

【MATLAB第90期】基于MATLAB的高斯过程、核函数、树模型、近邻模型等多输入单输出回归预测模型合集(RLR、ARES、WKNNR、KSNR、RKS、VHGPR、WGPR、SSGPR、TGP等)


本文展示多种非常用多输入单输出回归预测模型效果,精力不够,原理还需自行研究,下期展示多输入多输出回归模型。

注:每次运行数据训练集测试集为随机,故对比不严谨,不能完全反映模型效果。

通用代码展示

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
addpath(genpath('funcs')); % 添加函数路径
%% 选择模型
METHODS = {'XXX'}
%%  导入数据
res = xlsread('数据集.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);

%%  转置以适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';

一、高斯过程模型

1、变分异方差高斯过程回归(VHGPR)

Training VHGPR…
训练集数据的RMSE为:0.016666
测试集数据的RMSE为:0.18835
训练集数据的R2为:1
测试集数据的R2为:0.99948
训练集数据的MAE为:0.011272
测试集数据的MAE为:0.14145
训练集数据的MBE为:-2.2914e-06
测试集数据的MBE为:0.034171
在这里插入图片描述

在这里插入图片描述

2、扭曲高斯过程(WGPR)

Training WGPR…
训练集数据的RMSE为:1.7261
测试集数据的RMSE为:0.25173
训练集数据的R2为:0.94903
测试集数据的R2为:0.99908
训练集数据的MAE为:0.2062
测试集数据的MAE为:0.19946
训练集数据的MBE为:-0.19288
测试集数据的MBE为:0.075477
在这里插入图片描述
在这里插入图片描述

3、稀疏谱高斯过程回归(SSGPR)

Training SSGPR…
训练集数据的RMSE为:0.10094
测试集数据的RMSE为:0.31474
训练集数据的R2为:0.99982
测试集数据的R2为:0.9986
训练集数据的MAE为:0.077379
测试集数据的MAE为:0.2635
训练集数据的MBE为:5.0428e-06
测试集数据的MBE为:-0.13301
在这里插入图片描述
在这里插入图片描述

4、双高斯过程(TGP)

Training TGP…
训练集数据的RMSE为:2.7287
测试集数据的RMSE为:3.3977
训练集数据的R2为:0.87263
测试集数据的R2为:0.83159
训练集数据的MAE为:2.1133
测试集数据的MAE为:2.8297
训练集数据的MBE为:0.4433
测试集数据的MBE为:1.9482

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

二、核函数方法

1、核岭回归(KRR)

Training KRR…
训练集数据的RMSE为:0.33879
测试集数据的RMSE为:0.56033
训练集数据的R2为:0.99804
测试集数据的R2为:0.99542
训练集数据的MAE为:0.25441
测试集数据的MAE为:0.47222
训练集数据的MBE为:-0.00016191
测试集数据的MBE为:0.2451
在这里插入图片描述
在这里插入图片描述

2、相关向量机(RVM)

Training RVM…
训练集数据的RMSE为:0.62349
测试集数据的RMSE为:0.81944
训练集数据的R2为:0.99335
测试集数据的R2为:0.9902
训练集数据的MAE为:0.48202
测试集数据的MAE为:0.68016
训练集数据的MBE为:0.070944
测试集数据的MBE为:0.042825
在这里插入图片描述
在这里插入图片描述

3、内核信噪比回归(KSNR)

Training KSNR…
训练集数据的RMSE为:2.1384
测试集数据的RMSE为:2.276
训练集数据的R2为:0.92178
测试集数据的R2为:0.92443
训练集数据的MAE为:1.6902
测试集数据的MAE为:1.7698
训练集数据的MBE为:-0.08401
测试集数据的MBE为:0.32953
在这里插入图片描述
在这里插入图片描述

4.1、结构化核岭回归(SKRRlin线性核函数)

Training SKRRlin…
训练集数据的RMSE为:0.15893
测试集数据的RMSE为:0.59542
训练集数据的R2为:0.99957
测试集数据的R2为:0.99483
训练集数据的MAE为:0.1034
测试集数据的MAE为:0.46915
训练集数据的MBE为:-0.00014766
测试集数据的MBE为:0.2408
在这里插入图片描述
在这里插入图片描述

4.2、结构化核岭回归(SKRRrbf径向基核函数)

Training SKRRrbf…
训练集数据的RMSE为:0.39874
测试集数据的RMSE为:0.57187
训练集数据的R2为:0.99728
测试集数据的R2为:0.99523
训练集数据的MAE为:0.31558
测试集数据的MAE为:0.48255
训练集数据的MBE为:-0.0075955
测试集数据的MBE为:0.21179
在这里插入图片描述
在这里插入图片描述

5、随机Kitchen Sinks回归(RKS)

Training RKS…
训练集数据的RMSE为:0.73691
测试集数据的RMSE为:1.0498
训练集数据的R2为:0.99084
测试集数据的R2为:0.98336
训练集数据的MAE为:0.36676
测试集数据的MAE为:0.7065
训练集数据的MBE为:-0.13532
测试集数据的MBE为:-0.30309

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

6、多元向量机回归(MSVR)

Training MSVR…
训练集数据的RMSE为:0.34248
测试集数据的RMSE为:0.56133
训练集数据的R2为:0.99796
测试集数据的R2为:0.99518
训练集数据的MAE为:0.27171
测试集数据的MAE为:0.4867
训练集数据的MBE为:0.0050311
测试集数据的MBE为:0.12303
在这里插入图片描述
在这里插入图片描述

三、树模型方法

1、决策树(TREE)

Training TREE…
训练集数据的RMSE为:1.9551
测试集数据的RMSE为:5.4426
训练集数据的R2为:0.93647
测试集数据的R2为:0.4358
训练集数据的MAE为:1.4319
测试集数据的MAE为:4.0959
训练集数据的MBE为:3.9968e-16
测试集数据的MBE为:1.6995
在这里插入图片描述
在这里插入图片描述

2、套袋树(BAGTREE)

Training BAGTREE…
训练集数据的RMSE为:3.1184
测试集数据的RMSE为:3.387
训练集数据的R2为:0.84948
测试集数据的R2为:0.74459
训练集数据的MAE为:2.3538
测试集数据的MAE为:2.5884
训练集数据的MBE为:0.019152
测试集数据的MBE为:0.87346
在这里插入图片描述

在这里插入图片描述

3、BOOST增强树(BOOST)

Training BOOST…
训练集数据的RMSE为:0.45363
测试集数据的RMSE为:3.2551
训练集数据的R2为:0.99706
测试集数据的R2为:0.49039
训练集数据的MAE为:0.34702
测试集数据的MAE为:2.5469
训练集数据的MBE为:-1.9096e-15
测试集数据的MBE为:1.2468
在这里插入图片描述
在这里插入图片描述

4、增强随机森林(LSBoost)

Training LSBoost…
训练集数据的RMSE为:8.6842e-15
测试集数据的RMSE为:4.7295
训练集数据的R2为:1
测试集数据的R2为:0.20343
训练集数据的MAE为:5.6843e-15
测试集数据的MAE为:3.2471
训练集数据的MBE为:-7.1054e-16
测试集数据的MBE为:1.3153
在这里插入图片描述
在这里插入图片描述

5、XGBOOST

Training XGB…
训练集数据的RMSE为:2.0128
测试集数据的RMSE为:2.9735
训练集数据的R2为:0.93462
测试集数据的R2为:0.84466
训练集数据的MAE为:1.5351
测试集数据的MAE为:2.4029
训练集数据的MBE为:-0.47213
测试集数据的MBE为:-0.36939
在这里插入图片描述
在这里插入图片描述

6、典型相关森林(CCF)

Training CCF…
训练集数据的RMSE为:0.91915
测试集数据的RMSE为:3.5783
训练集数据的R2为:0.98423
测试集数据的R2为:0.84609
训练集数据的MAE为:0.57309
测试集数据的MAE为:2.5601
训练集数据的MBE为:2.2204e-16
测试集数据的MBE为:0.025749
在这里插入图片描述
在这里插入图片描述

四、近邻模型

1、加权k近邻回归(WKNNR)

Training WKNNR…
训练集数据的RMSE为:2.1587
测试集数据的RMSE为:3.9624
训练集数据的R2为:0.92544
测试集数据的R2为:0.64301
训练集数据的MAE为:0.89757
测试集数据的MAE为:3.4489
训练集数据的MBE为:-0.37871
测试集数据的MBE为:0.47239
在这里插入图片描述
在这里插入图片描述

五、样条和多项式模型

1、自适应回归样条(ARES)

Training ARES…
训练集数据的RMSE为:0.95868
测试集数据的RMSE为:1.3617
训练集数据的R2为:0.98322
测试集数据的R2为:0.97587
训练集数据的MAE为:0.77316
测试集数据的MAE为:1.0322
训练集数据的MBE为:-4.5741e-15
测试集数据的MBE为:-0.19157
在这里插入图片描述
在这里插入图片描述

六、线性模型

1、正则化最小二乘线性回归(RLR)

Training RLR…
训练集数据的RMSE为:2.6462
测试集数据的RMSE为:2.628
训练集数据的R2为:0.87657
测试集数据的R2为:0.90482
训练集数据的MAE为:2.0441
测试集数据的MAE为:2.0641
训练集数据的MBE为:-0.22047
测试集数据的MBE为:0.46421
在这里插入图片描述
在这里插入图片描述

2、最小绝对收缩和选择算子(LASSO)

Training LASSO…
训练集数据的RMSE为:3.1169
测试集数据的RMSE为:2.8036
训练集数据的R2为:0.8477
测试集数据的R2为:0.84448
训练集数据的MAE为:2.4504
测试集数据的MAE为:2.2981
训练集数据的MBE为:2.5313e-15
测试集数据的MBE为:0.39718
在这里插入图片描述
在这里插入图片描述

3、弹性网络(ENET)

Training ENET…
训练集数据的RMSE为:8.4106
测试集数据的RMSE为:8.9988
训练集数据的R2为:-0.18305
测试集数据的R2为:-0.32423
训练集数据的MAE为:7.882
测试集数据的MAE为:8.5637
训练集数据的MBE为:-7.882
测试集数据的MBE为:-8.5637

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

七、代码获取

1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,回复“90期”以及相应指令,即可获取对应下载方式。

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
点云高斯曲率是描述点云局部曲率性质的常用指标之一,可以用于点云的分类、特征提取和形状分析等应用。Matlab作为一种强大的计算工具,在点云处理中也有广泛的应用,能够快速方便地计算点云高斯曲率。 Matlab中计算点云高斯曲率的方法,最常用的是基于协方差矩阵的方式。具体流程如下: 1. 首先,需要对点云进行一定的预处理,如去除离群点和噪声点,并进行点云的平滑处理。可以使用滤波算法对点云进行平滑去噪。 2. 然后,需要计算每个点的曲率指标。曲率指标可分为主曲率和高斯曲率,其中高斯曲率是主曲率的乘积。在Matlab中,可以使用曲率估计算法来计算每个点的曲率指标。曲率估计算法主要分为两类:基于邻域和基于重建。基于邻域的方法在计算曲率指标时,需先找到每个点的$k$近邻,然后计算邻域内点的协方差矩阵,并对其特征值进行求解得到主曲率。然后,通过计算主曲率的乘积即可得到高斯曲率。基于重建的方法则先使用点云重建算法将点云表面重建为三维形状,然后通过三维形状的网格信息计算曲率指标。 3. 最后,根据计算得到的曲率指标进行高斯曲率计算。在Matlab中,可以使用内置函数“pcnormals”计算每个点的法向量,然后通过计算协方差矩阵的特征值,即可得到高斯曲率。 综上所述,Matlab计算点云高斯曲率的方法主要涉及到点云预处理、曲率指标计算以及高斯曲率计算三个步骤。采用基于协方差矩阵的计算方法,能够快速高效地得到点云的高斯曲率,并可用于点云分类、特征提取和形状分析等应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随风飘摇的土木狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值