clc
清除
%从三类k均值聚类结果的每一个中随机选择190行,以形成一个新的570 * 3矩阵,即训练样本.
load('data1.mat');
load('data2.mat');
load('data3.mat');
data = [data1; data2; data3];
%%
%第一类数据是80,是随机选择的过程
M1 = data1;
S1 =大小(M1,1);
SampleRows1 = randperm(S1);
SampleRows1 = SampleRows1(1:80);
SampleM1 = M1(SampleRows1,: );
%第二种数据是110,是随机选择的过程
M2 = data2;
S2 = size(M2,1);
SampleRows2 = randperm(S2);
SampleRows2 = SampleRows2(1:80);
SampleM2 = M2(SampleRows2,: );
%第三种数据是110,是随机选择的过程
M3 = data3;
S3 = size(M3,1);
SampleRows3 = randperm(S3);
SampleRows3 = SampleRows3(1:80);
SampleM3 = M3(SampleRows3,: );
SampleM = [SampleM1; SampleM2; SampleM3];
%将重要性与前三列中的数据相匹配,并输出所需的输出.
%首先将随机选择的训练样本分配给d,然后将d与dataa匹配. 更新后的d具有匹配的重要性,第四列.
d = SampleM;%训练样本
%%
%将相应的重要性添加到训练样本中
load('dataa.mat');
%匹配训练样本的重要性值
aInb = ismember(d,dataa);
[m,n] = size(aInb);
[mdataa,ndataa] = size(dataa);
d = [d dataa(1: m,n + 1: ndataa)];重要的训练样本百分比
%%
%======非时间序列BP神经网络=====
%=======原始数据输入========
多个备件矩阵的三个因素的百分比[年度故障次数单价购买提前期]
p = SampleM';%训练样本,
%===========预期输出=======
%与多个备件对应的期望重要性输出值,即匹配重要性后训练样本的第四列值
t = d(: ,4)';
%===========测试数据=======
%从原始输入数据中选择一个零件,然后添加一些其他数据作为测试数据矩阵
%%
此处已修改%
%测试数据
ptest = dataa(:神经网络预测大量数据,1: 3)';
%test数据的预期输出
ttest = dataa(: ,4);
%%
%归一化数据
[pn,minp,maxp,tn,mint,maxt] = premnmx(p神经网络预测大量数据,t);%归一化数据
%考虑到没有太多数据,所以设置了两个隐藏层
NodeNum1 = 10;%隐藏层第一层中的节点数
NodeNum2 = 10;%隐藏层第二层中的节点数
%输出尺寸
TypeNum = 1;
每一层的%Transfer函数,TF3是输出层的传递函数
TF1 ='tansig';
TF2 ='tansig';
TF3 ='tansig';
%创建四层BP神经网络
net = newff(minmax(pn),[NodeNum1,NodeNum2,TypeNum],{TF1 TF2 TF3},'traingdx');
%网络创建人Tradingdx
net.trainParam.show = 50;%训练显示间隔
net.trainParam.epochs = 60000; %最大训练时间设置
net.trainParam.goal = 1e-5; %最小均方误差,即训练所需的精度
net.trainParam.lr = 0.01;%学习率
net = train(net,pn,tn); %train BP网络
%测试数据的规范化
p2n = tramnmx(ptest,minp,maxp);
%BP结果输出
an = sim(net,p2n);
%数据的非规格化,即您想要获得的最终预测结果
[a] = postmnmx(an,mint,maxt)
%% ============================================= ======================
%%
%plot函数的输出有问题,或者矩阵尺寸设置有问题
%aaaaaaaaaaaaaaaaaaaa ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++++++++++
plot(1: length(ttest),a,'o',1: length(ttest),ttest','. ');
title('o表示预测值--- *表示实际值')
坚持
推迟
m = length(a);向量a的%长度
t1 = ttest';
error = abs(t1-a); %错误向量
图
plot(1: length(error),error,'-. ')
title('错误更改图')
网格
本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-287220-1.html
……