一、计划进度
计划安排时间 | 计划完成内容 | 是否完成 |
2017.4.11-4.17 | 查找到matlab实现算法的源码,测试书写。完成matlab GUI界面编写 | 找到源码,为实现,跟老师确定界面 |
2017.4.20-4.27 | 完成毕业设计的初步架构 |
二、本周完成情况
1、实现对于单个数据的预测输出
clear
clc
load('test.mat');%载入数据
load('net.mat');
load('datal.mat')
load('m.mat')
load('n.mat')
load('f.mat')
load('x.mat')
fea_ts=x(m+50000:m+50000,:);%测试特征
lab_ts=test(50000:50000,end)+1;%测试标签
y=sim(net,fea_ts');
predict=vec2ind(y)';%得到训练结果
思考怎么将这个过程显示在界面上
2、增加准确度的图标,并对原先的代码进一步修改,减少运行时间
clear
clc
load('test.mat');%载入数据
load('net.mat');
load('datal.mat')
load('m.mat')
load('n.mat')
load('f.mat')
load('x.mat')
fea_ts=x(m+1:end,:);%测试特征
lab_ts=test(:,end)+1;%测试标签
y=sim(net,fea_ts');
predict=vec2ind(y)';%得到训练结果
p=sum(predict==lab_ts)/length(predict);%得到匹配准确率
for i=1:7
s(i)=sum(lab_ts==i);%计算每一类个数
p_s(i)=sum(predict(lab_ts==i)==i)/s(i)*100;%计算准确率
p_l(i)=(1-sum(predict(lab_ts==i)==i)/s(i))*100;%计算漏报率
p_w(i)=(1-sum(lab_ts(predict==i)==i)/sum(predict==i))*100;%计算误报率
if sum(predict==i)==0
p_w(i)=0;
end
end
figure,bar(s);
for i = 1:7
text(i-0.3,s(i)+1800,num2str(s(i)));
end
set(gca,'xticklabel',{'normal','dos','neptune','smurf','u2r','r2l','probe'});
title('样本个数');
figure,bar(p_s);
ylim([0,100]);
for i = 1:7
text(i-0.4,p_s(i)+0.02,num2str(p_s(i)),'fontsize',8);
end
set(gca,'xticklabel',{'normal','dos','neptune','smurf','u2r','r2l','probe'});
title('正确率 %');
figure,bar(p_l);
ylim([0,100]);
for i = 1:7
text(i-0.4,p_l(i)+0.02,num2str(p_l(i)),'fontsize',8);
end
set(gca,'xticklabel',{'normal','dos','neptune','smurf','u2r','r2l','probe'});
title('漏报率 %');
figure,bar(p_w);
ylim([0,100]);
for i = 1:7
text(i-0.4,p_w(i)+0.02,num2str(p_w(i)),'fontsize',8);
end
set(gca,'xticklabel',{'normal','dos','neptune','smurf','u2r','r2l','probe'});
title('误报率 %');