資源簡介
機(jī)器學(xué)習(xí),BP神經(jīng)網(wǎng)絡(luò)進(jìn)行多分類matlab代碼
代碼片段和文件信息
function?glass1=classifyBP()
clc;
clear;
load?glass.txt;
data=[glass(:2:11)];
glass_train=[data(1:35:);data(71:108:);data(147:155:);data(164:170:);data(177:181:);data(186:200:)];%人工分成訓(xùn)練集
glass_test=[data(36:70:);data(109:146:);data(156:163:);data(171:176:);data(182:185:);data(201:214:)];%人工分成測試集
train_label=[glass_train(:10)];%訓(xùn)練集標(biāo)簽
test_label=[glass_test(:10)];%測試集標(biāo)簽
%%%%%%%%%%%%%%%%%%%對數(shù)據(jù)進(jìn)行出來,于適合BP神經(jīng)網(wǎng)絡(luò)函數(shù)的調(diào)用
glass_train=glass_train‘;
glass_test=glass_test‘;
train_label=train_label‘;
test_label=test_label‘;
%對訓(xùn)練集和測試集進(jìn)行歸一化
[train1minpmaxplabelmintmaxt]?=?premnmx(glass_traintrain_label);
[test]=tramnmx(glass_testminpmaxp);
%構(gòu)造神經(jīng)網(wǎng)絡(luò)
net?=?newff(?minmax(train1)??[10?1]??{?‘tansig‘?‘tansig‘?}??‘traingdx‘?)?;
%設(shè)置訓(xùn)練參數(shù)
net.trainparam.show?=?50?;
net.trainparam.epochs?=2500;
net.trainparam.goal?=?0.00001?;
net.trainParam.lr?=?0.01?;
%開始訓(xùn)練
net?=?train(nettrain1label);
%測試集仿真
TEST?=?sim(nettest);
[y1]=postmnmx(TESTmintmaxt);%反歸一化
testresult=tonumber1(y1)
erroroftest=evalu(test_labeltestresult)
%訓(xùn)練集仿真
Z?=?sim(nettrain1);
[z]=postmnmx(Zmintmaxt);%反歸一化
trainresult=tonumber1(z)
erroroftrain1=evalu(train_labeltrainresult)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%子函數(shù)
function?y=tonumber1(x)
for?i=1:size(x2)
???if?x(i)<1.5
???????x(i)=1;
????end
????if?1.5 ???????x(i)=2;
????end
????if?2.5 ????????x(i)=3;
????end
????if?3.5 ????????x(i)=4;
????end
????if?4.5 ????????x(i)=5;
????end
????if?5.5 ????????x(i)=6;
????end
????if?6.5 ????????x(i)=7;
????end
????y(i)=x(i);
end
function?error=evalu(ab)
error=0;%分類錯誤的個數(shù)
for?i=1:size(a2)
????if?a(i)~=b(i)
????????error=error+1;
????end
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1896??2020-09-13?11:13??classifyBP.m
?????文件???????12119??2020-09-13?11:13??glass.txt
評論
共有 條評論