%清空环境变量 clc clear %读取数据 a=xlsread(’F:\4。数据挖掘讲义—马景义\数据和程序\matlab\one—input.csv'); b=xlsread(’F:\4.数据挖掘讲义—马景义\数据和程序\matlab\output。csv'); c=xlsread(’F:\4。数据挖掘讲义—马景义\数据和程序\matlab\c.csv'); save data1。mat b save data2。mat a load data1 load data2 %节点个数 inputnum=42; hiddennum=8; outputnum=1; %训练数据和预测数据 input_train=a(:,1:90); input_test=a(:,91:137); output_train=b(:,1:90); output_test=b(:,91:137); %将训练样本输入输出数据归一化 [inputn,inputps]=mapminmax(input_train); [outputn,outputps]=mapminmax(output_train); %构建BP神经网络 net=newff(inputn,outputn,[20,12],{’tansig’,’purelin’},'traingdx’); net.trainParam.epochs=1000; net.trainParam。lr=0。01; net.trainParam.goal=0。00000001; %BP神经网络训练 net=train(net,inputn,outputn); %测试样本归一化 inputn_test=mapminmax(’apply',input_test,inputps); %BP神经网络预测 an=sim(net,inputn_test); %%网络得到数据反归一化 BPoutput=mapminmax(’reverse’,an,outputps); d=BPoutput>c figure(1) %plot(d,':og’); scatter(1:(137—90),d,'rx’); hold on; %plot(output_test,'—*’); scatter(1:(137—90),output_test,’o'); legend(’预测输出’,’期望输出’,'fontsize’,12); title('BP网络预测输出','fontsize’,12); xlabel(’样本’,'fontsize’,12); xlabel('优化前输出的误差’,’fontsize’,12); figure(2) error=d—output_test; plot(1:(137-90),error); xlabel('样本’,'fontsize',12); ylabel('优化前输出的误差’,’fontsize',12); %save net net inputs outputs 本文来源:https://www.wddqw.com/doc/5a92b627874769eae009581b6bd97f192279bf3c.html