Predicción de regresión | MATLAB realiza el mapa de autoorganización SOM-BP combinado con la predicción de regresión de salida única de entrada múltiple de red neuronal BP (indicador múltiple, mapa múltiple)

Predicción de regresión | MATLAB realiza el mapa de autoorganización SOM-BP combinado con la predicción de regresión de salida única de entrada múltiple de red neuronal BP (indicador múltiple, mapa múltiple)

Lista de efectos

1
2
3

introducción básica

Predicción de regresión | MATLAB implementa el mapa autoorganizado SOM-BP combinado con la predicción de regresión de salida única de entrada múltiple de red neuronal BP (índice múltiple, mapa múltiple) (índice múltiple, mapa múltiple) entrada de múltiples características, salida única variable, predicción de regresión de salida única de múltiples entradas;
evaluación de múltiples indicadores, la calidad del código es extremadamente alta; datos de Excel, fácil de reemplazar, entorno operativo 2018 y superior.

programación

  • Código fuente completo y método de adquisición de datos: responda a MATLAB por mensaje privado para realizar el mapa de autoorganización SOM-BP combinado con la predicción de regresión de salida única de múltiples entradas de la red neuronal BP .
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

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



%%  仿真测试
t_sim1 = sim(net, p_train);
t_sim2 = sim(net, p_test);

%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);

%%  均方根误差
error1 = sqrt(sum((T_sim1 - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2 - T_test ).^2) ./ N);



%%  相关指标计算
% 决定系数 R2
R1 = 1 - norm(T_train - T_sim1)^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test -  T_sim2)^2 / norm(T_test -  mean(T_test ))^2;

disp(['训练集数据的R2为:', num2str(R1)])
disp(['测试集数据的R2为:', num2str(R2)])

% 平均绝对误差 MAE
mae1 = sum(abs(T_sim1 - T_train)) ./ M ;
mae2 = sum(abs(T_sim2 - T_test )) ./ N ;

disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])

% 平均相对误差 MBE
mbe1 = sum(T_sim1 - T_train) ./ M ;
mbe2 = sum(T_sim2 - T_test ) ./ N ;

disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])

Referencias

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

Supongo que te gusta

Origin blog.csdn.net/kjm13182345320/article/details/132372220
Recomendado
Clasificación