您的位置:首页 > 科技 > 能源 > 独家首发 | Matlab实现SVM-Transformer多变量回归预测

独家首发 | Matlab实现SVM-Transformer多变量回归预测

2024/12/23 8:59:10 来源:https://blog.csdn.net/kjm13182345320/article/details/140110577  浏览:    关键词:独家首发 | Matlab实现SVM-Transformer多变量回归预测

独家首发 | Matlab实现SVM-Transformer多变量回归预测

目录

    • 独家首发 | Matlab实现SVM-Transformer多变量回归预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

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

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

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

在这里插入图片描述

在这里插入图片描述

基本介绍

1.Matlab实现SVM-Transformer多变量回归预测,SVM递归特征消除+Transformer多输入单输出回归预测;

2.运行环境为Matlab2023b及以上;

3.data为数据集,输入多个特征,输出单个变量,多变量回归预测,main.m为主程序,运行即可,所有文件放在一个文件夹;

4.命令窗口输出R2、MSE、RMSE、MAE、MAPE、MBE等多指标评价;

在这里插入图片描述

程序设计

  • 完整程序和数据下载私信博主回复独家首发 | Matlab实现SVM-Transformer多变量回归预测
%%  输出选择特征的对应序号
disp('经过特征选择后,保留特征的序号为:')
disp(save_index)%%  特征选择后的数据集
p_train = p_train(:, save_index);
p_test  = p_test (:, save_index);%%  矩阵转置适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';%%  数据平铺
%   将数据平铺成1维数据只是一种处理方式
%   也可以平铺成2维数据,以及3维数据,需要修改对应模型结构
%   但是应该始终和输入层数据结构保持一致
vp_train =  double(reshape(p_train, k, 1, 1, M));
vp_test  =  double(reshape(p_test , k, 1, 1, N));t_train = t_train';
t_test  = t_test' ;%%  数据格式转换
for i = 1 : Mlp_train{i, 1} = vp_train(:, :, 1, i);
endfor i = 1 : Nlp_test{i, 1}  = vp_test( :, :, 1, i);
end%%  创建模型
%网络搭建
numChannels = k;
maxPosition = 256;
numHeads = 4;
numKeyChannels = numHeads*32;

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm=1001.2014.3001.5502

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com