📄 lvq.m
字号:
%处理目标,使其变为两维输出
for i=1:140
if norml_y_train(i)==-1
inn(i)=norml_y_train(i)+2;
else
inn(i)=norml_y_train(i)+1
end
end
T = ind2vec(inn);
targets = full(T)
%设置参数,随机分类训练值,5组
in=crossvalind('Kfold',norml_y_train);
%造一个LVQ网络
net=newlvq(minmax(norml_x_train_c3andc4_cwt),4,[.5 .5]);
net.trainParam.epochs = 20;
for i = 1:5
m=1;
n=1;
right=0;
wrong=0;
for j=1:140
if in(j) == i;
tes(:,m)=norml_x_train_c3andc4_cwt(:,j);
tes_ans(:,m)=targets(:,j);
m=m+1;
else
trai(:,n)=norml_x_train_c3andc4_cwt(:,j);
trai_ans(:,n)=targets(:,j);
n=n+1;
end
end
%[net,tr] = train(net,trai,trai_ans);
net = train(net,trai,trai_ans);
for k=1:28
a(:,k,i)=sim(net,tes(:,k));
% b(k,i)=a(k)-tes_ans(k);
if a(:,k,i)==tes_ans(:,k)
right=right+1;
else
wrong=wrong+1;
end
sr=sum(right);
acc(i)=sr/28;
end
end
acczong=sum(acc);
accpin=acczong/5;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -