• 【MATLAB第80期】基于MATLAB的结构核岭回归SKRR多输入单输出回归预测及分类预测模型


    【MATLAB第80期】基于MATLAB的结构核岭回归SKRR多输入单输出回归预测及分类预测模型

    SKRR这是Gustau Camps-Valls等人在“用深度结构核回归检索物理参数”中提出的结构核岭回归(SKRR)方法。
    参考文献
    Camps-Valls,Retrieval of Physical Parameters with Deep Structured Kernel Regression

    一、回归预测

    %%  清空环境变量
    warning off             % 关闭报警信息
    close all               % 关闭开启的图窗
    clear                   % 清空变量
    clc                     % 清空命令行
    
    %%  导入数据
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    1、linear

    SKRR linear训练集数据的R2为:1
    SKRR linear测试集数据的R2为:1
    SKRR linear训练集数据的MAE为:0.0028973
    SKRR linear测试集数据的MAE为:0.0042063
    SKRR linear训练集数据的MBE为:-5.67e-05
    SKRR linear测试集数据的MBE为:0.00019721
    在这里插入图片描述
    在这里插入图片描述

    2、rbf

    SKRR rbf训练集数据的R2为:0.99997
    SKRR rbf测试集数据的R2为:0.99985
    SKRR rbf训练集数据的MAE为:0.029127
    SKRR rbf测试集数据的MAE为:0.042224
    SKRR rbf训练集数据的MBE为:0.0048
    SKRR rbf测试集数据的MBE为:-0.020914
    在这里插入图片描述
    在这里插入图片描述

    二、分类预测

    %%  清空环境变量
    warning off             % 关闭报警信息
    close all               % 关闭开启的图窗
    clear                   % 清空变量
    clc                     % 清空命令行
    
    %%  导入数据
    res = xlsread('数据集C.xlsx');
    
    %%  划分训练集和测试集
    temp = randperm(357);
    
    P_train = res(temp(1: 240), 1: 12)';
    T_train = res(temp(1: 240), 13)';
    M = size(P_train, 2);
    
    P_test = res(temp(241: end), 1: 12)';
    T_test = res(temp(241: end), 13)';
    N = size(P_test, 2);
    
    %%  数据归一化
    [p_train, ps_input] = mapminmax(P_train, 0, 1);
    p_test = mapminmax('apply', P_test, ps_input );
    p_train=p_train';
    p_test=p_test';
    t_train = T_train';
    t_test  = T_test' ;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    1、linear

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

    2、rbf

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

    三、代码获取

    私信后台回复“80期”以及根据要求回复指令即可获取下载链接。

  • 相关阅读:
    TCP/IP基础
    肠道核心菌属——经黏液真杆菌属(Blautia),炎症肥胖相关的潜力菌
    可变参数~
    如何给win11安装安卓应用
    Linux内存管理(二十五):shrink_node
    npm 发布 使用 跟新 vue 插件
    JVM原理及优化_垃圾回收算法
    grblHAL的代码学习笔记和解读
    opencv-python 4.9.2. 轮廓特征
    Python语言基础与应用-北京大学-陈斌-P29-28-计算和控制流:控制流:上机:基本计算程序-给定一个英文数字字符串,打印相应阿拉伯数字字符串-上机代码
  • 原文地址:https://blog.csdn.net/qq_29736627/article/details/133933048