%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
rng(1)
%% 导入数据
num = xlsread('数据.xlsx');
%% 添加路径
%% 划分训练集和测试集
n = randperm(length(num));
m=60;
n= randperm(length(num));
input_train=num((1:m),1:9)';%训练数据的输入数据
output_train=num((1:m),10)';%训练数据的输出数据4
input_test=num((m+1:end),1:9)';%测试数据的输入数据
output_test=num((m+1:end),10)'; %测试数据的输出数据
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train,0,1);%训练数据的输入数据的归一化
[outputn,outputps]=mapminmax(output_train,0,1);%训练数据的输出数据的归一化de
inputn_test=mapminmax('apply',input_test,inputps);
outputn_test=mapminmax('apply',output_test,outputps);
%% BP网络训练
% %初始化网络结构
net=newff(minmax(inputn),[15,1],{'logsig','tansig'},'trainlm');
%net=newff(minmax(inputn),[35,1],{'logsig','tansig'},'traingdx');
net.trainParam.max_fail =50;
net.trainParam.epochs=1000;%最大迭代次数
net.trainParam.lr=0.02;%学习率
net.trainParam.goal=0.01;%学习目标
% net.divideParam.trainRatio = 0.6;
% net.divideParam.valRatio = 0.2;
% net.divideParam.testRatio = 0.2;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%网络预测输出
load maynet.mat
an=sim(net,inputn_test);
an1=sim(net,inputn);
%网络输出反归一化-+
BPoutput=(mapminmax('reverse',an,outputps));
BPoutput1=(mapminmax('reverse',an1,outputps));
R2 = R_2(output_test(1,:),BPoutput(1,:))
[MSE, RMSE, MBE, MAE ] =MSE_RMSE_MBE_MAE_MAPE(output_test(1,:),BPoutput(1,:))
figure
plot(BPoutput(1,:),'r-o')%预测的结果数据画图:代表虚线,O代表圆圈标识,G代表绿色
hold on
plot(output_test(1,:),'k-*');%期望数据,即真实的数据画图,-代表实现,*就是代表*的标识
hold on
legend('BP预测输出','期望输出')%标签
title('BP神经网络','fontsize',12)%标题 字体大小为12
ylabel('')
set(gca,'fontsize',12)
%预测误差
error=BPoutput-output_test;
figure
plot(error(1,:)','k-*')
ylabel('Error')
ylabel('')
xlabel('')
set(gca,'fontsize',12)
wik = net.lw{2,1};
wki = net.iw{1,1};
b1 = net.b{1};
q = zeros(9,1);
for ii = 1:9
inputn1 = inputn(ii,:);
y1 = wki(:,ii)*inputn1;
y1 = 1./(1+exp(-y1));
y2 = wik*y1;
q(ii) = sum(abs(y2));
end
q = q./sum(q);
figure
bar(q)
ylabel('权重')
xlabel('')
BP神经网络预测并求取输入指标权重MATLAB 代码示例
需积分: 0 17 浏览量
2024-05-17
11:42:11
上传
评论
收藏 32KB RAR 举报
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
![avatar-vip](https://csdnimg.cn/release/downloadcmsfe/public/img/user-vip.1c89f3c5.png)
2301_78840616
- 粉丝: 0
- 资源: 1
最新资源
- 基于74LS161+ 74LS192芯片实现倒计时定时器Multisim仿真源文件,Multisim10以上版本可打开运行
- 科大讯飞语音引擎 jar包 demo,科大讯飞语音合成引擎3.0,支持4.0系统以上,文字转语音输出.zip
- Java架构面试笔试专题资料及经验(含答案)SpringBoot面试Linux面试专题及答案 合集.zip
- 头歌c语言实验答案tion-model-for-ne开发笔记
- docker配置使用-model-for-networK开发demo
- docker配置使用vaWeb-mas笔记
- c语言连接两个字符串-mas开发笔记
- 俄罗斯引擎yandex进入x-master 笔记
- 头歌c语言实验答案el-for-network-ids-ma笔记
- 一个delphi写的连连看
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)