clc
clear
close all
load maydata.mat
rand('state',0)
n=1:18;
m = 14;
input_train=num((1:m),1:20)';%训练数据的输入数据
output_train=num((1:m),21:25)';%训练数据的输出数据
input_test=num((m+1:end),1:20)';%测试数据的输入数据
output_test=num((m+1:end),21:25)'; %测试数据的输出数据
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train,-1,1);%训练数据的输入数据的归一化
[outputn,outputps]=mapminmax(output_train,-1,1);%训练数据的输出数据的归一化de
inputn_test=mapminmax('apply',input_test,inputps);
outputn_test=mapminmax('apply',output_test,outputps);
%% BP网络训练
% %初始化网络结构
%trainc traincgb traincgf traincg`p traingda traingdx trainlm
%trainoss trainr trainrp trains trainscg
net=newff(minmax(inputn),[11,5],{'logsig','tansig'},'trainlm');
%net.trainParam.showWindow = false;%关闭训练窗口
%net.trainParam.max_fail = 9;
net.trainParam.epochs=5000;%最大迭代次数
net.trainParam.lr=0.2;%学习率
net.trainParam.goal=0.0001;%学习目标
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
load maynet.mat net
an=sim(net,inputn_test);
an1=sim(net,inputn);
%网络输出反归一化
[~,BPoutput]=max(an);
[~,BPoutput1]= max(an1);
[~,output_test1]=max(output_test);
[~,output_train1]= max(output_train);
[MSE ,RMSE, MBE ,MAE ] =MSE_RMSE_MBE_MAE(output_test1,BPoutput)
R2 = R_2(output_test1,BPoutput)
%% 结果分析
% figure
% plot(BPoutput1,'r-o')%预测的结果数据画图-代表虚线,O代表圆圈标识,r代表红色
% hold on
% plot(output_train1,'b-*');%期望数据,即真实的数据画图,-代表实现,*就是代表*的标识,k代表黑色
% legend('BP神经网络仿真值','真实值','Location','northwest')%标签
% title('BP神经网络','fontsize',12)%标题 字体大小为12
% xlabel('样本','fontsize',12)%X轴
% set(gca,'fontsize',12)
% ylabel('风险等级')
figure
plot(15:18,BPoutput,'r-o')%预测的结果数据画图-代表虚线,O代表圆圈标识,r代表红色
hold on
plot(15:18,output_test1,'b-*');%期望数据,即真实的数据画图,-代表实现,*就是代表*的标识,k代表黑色
legend('BP神经网络仿真值','真实值','Location','northwest')%标签
title('BP神经网络','fontsize',12)%标题 字体大小为12
xlabel('样本','fontsize',12)%X轴
set(gca,'fontsize',12)
ylabel('风险等级')
set(gca,'YTick',1:5)
ylim([1 5.01])
set(gca,'YTickLabel',str1)
set(gca,'XTick',15:18)
%预测误差
error=BPoutput-output_test1;
figure
plot(error,'-*')
title('BP网络预测误差','fontsize',12)
ylabel('误差','fontsize',12)
xlabel('样本','fontsize',12)
set(gca,'fontsize',12)
神经网络机器学习智能算法画图绘图
- 粉丝: 2826
- 资源: 660
最新资源
- [面板构架]Matlab设计-图像去雾基于Matlab设计-(多方法对比,PSNR,信息熵,GUI界面).zip
- springboot项目智能物流管理系统.zip
- [面板构架]Matlab设计-图像去雾系统(彩色,灰色均可处理,多方法对比,GUI框架).zip
- [面板构架]Matlab设计-图像去雾(多方法,GUI界面).zip
- [面板构架]Matlab设计-雾霾车牌识别GUI设计.zip
- [面板构架]Matlab设计-香烟汉字识别(模板匹配,多过程图,GUI界面).zip
- [面板构架]Matlab设计-危险区域预警(详细解析,GUI).zip
- [面板构架]Matlab设计-芯片字符识别(多过程图,模板匹配).zip
- [面板构架]Matlab设计-信号与系统,数字信号设计(含有GUI).zip
- springboot项目植物健康系统.zip
- springboot项目知识管理系统.zip
- Keil5集成开发环境在嵌入式系统中的应用与详细部署流程详解
- [面板构架]Matlab设计-印刷品缺陷检测(GUI界面,缺陷定位和计数).zip
- [面板构架]Matlab设计-指纹识别(GUI框架).zip
- springboot项目中小企业设备管理系统设计与实现.zip
- springboot项目中小型医院网站.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈