第五次毕业设计

一、计划进度

计划安排时间 计划完成内容 是否完成
2017.4.2-4.10 完成数据集参数的整理挑选。完成matlab下的神经网络程序编写 完成
2017.4.11-4.17 研究怎么不使用工具箱,自己实现神经网络的核心算法  
2017.4.18-4.25 基本能够完成核心算法的内容  
2017.4.26-5.1 实现基本的数据训练  

二、本周完成情况:

下面是matlab的程序和实验截图

代码难点分析:

[~, ~, raw] = xlsread(‘finaltrain.xlsx‘,‘sheet0‘);

[m,n]=size(raw);

for i=1:m

for j=1:n

data(i,j)=str2num(cell2mat(raw(i,j)));

end

end

[~, ~, raw] = xlsread(‘finallabe.xlsx‘,‘sheet0‘);

[m,n]=size(raw);

for i=1:m

for j=1:n

test(i,j)=str2num(cell2mat(raw(i,j)));

end

end

数据的导入:

[~, ~, raw] = xlsread(‘finaltrain.xlsx‘,‘sheet0‘);

将训练数据集导入支持Excel文件的读取,放在raw矩阵也可以像下面这么写

[num,txt,rawdata] = xlsread(‘textdata.xls‘) %是xlsread的一般用法,数据保存在num矩阵里, 标题行文本保存在txt里,rawdata是一个cellarray, 包含了num矩阵和txt的内容

cell2mat是matlab 特有的元胞数组,类似于python 的元组,提取出一行然后将string类型转化成数字型

test(i,j)=str2num(cell2mat(raw(i,j)));

将生成的 .mat 文件保存,双击打开就是一个数据表。但是下次进行训练的时候就不需要继续读取文件

x=mapminmax(f‘,0,1);

归一化处理:http://jingyan.baidu.com/article/48b37f8d649ce31a646488e9.html

MATLAB 帮助文档中告诉我们,这种对应关系是

y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin

因为matlab不支持对于行的选取

所以对数据进行转置

x=x‘;  只需要在参数后面加个 ’

output=full(ind2vec(lab_tr‘));

ind2vec 函数:https://zhidao.baidu.com/question/144156953.html 是为了将数值转化为列向量,为了后面的sim 函数仿真使用

full 函数: http://baike.baidu.com/item/FULL/7145619

能够将压缩的稀疏矩阵恢复成完整矩阵

newff 函数:设置神经网络模型的参数

net=newff(fea_tr‘,output,10);

net.trainParam.epochs=1000;

net.trainParam.lr=0.1;

net.trainParam.goal=0.00001;

net=train(net,fea_tr‘,output);  开始训练

参考文档:

http://baike.baidu.com/link?url=2nZi0O6eiUDCNAPlQu1PNiuboiCJpNZ1M7j80uCP9rgHPsymJt_PHE9Xnt__IW5Cpjc365rq2Lr45e75weEi8sznqRx_qjigmb0BIjNjTY_

对做出的结果画出图形:

figure 函数:http://jingyan.baidu.com/article/870c6fc333c78bb03ee4be4d.html

matlab代码全篇参考:http://blog.csdn.net/ldd530314297/article/details/41824507

http://blog.csdn.net/sinat_23137713/article/details/51136127

matlab处理所有代码

修改代码 增加数据

clear

clc

[~, ~, raw] = xlsread(‘45.xlsx‘,‘sheet0‘);

[m,n]=size(raw);

for i=1:m

for j=1:n

add(i,j)=str2num(cell2mat(raw(i,j)));

end

end

load(‘train.mat‘);

load(‘add.mat‘)

load(‘test.mat‘);%载入数据

data=[data;add];

[m,~]=size(data);

[n,~]=size(test);

f=[data(:,1:end-1);test(:,1:end-1)];%将训练集和预测集一起归一化

x=mapminmax(f‘,0,1);%g归一化

x=x‘;

fea_tr=x(1:m,:);%提取训练特征

lab_tr=data(:,end)+1;%训练标签(这里标签+1是因为原始标签中有0,现在全部+1)

fea_ts=x(m+1:end,:);%测试特征

lab_ts=test(:,end)+1;%测试标签

output=full(ind2vec(lab_tr‘));%这里先将标签向量变成矩阵,预测的时候输出最大的那个值的位置即为类别

net=newff(fea_tr‘,output,[30]);%建立神经网络

net.trainParam.epochs=1000;

net.trainParam.lr=0.1;

net.trainParam.goal=0.00001;

net=train(net,fea_tr‘,output);%调用TRAINGDM算法

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_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_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(‘误报率 %‘);

第一份:

clear

clc

[~, ~, raw] = xlsread(‘finaltrain.xlsx‘,‘sheet0‘);

[m,n]=size(raw);

for i=1:m

for j=1:n

data(i,j)=str2num(cell2mat(raw(i,j)));

end

end

[~, ~, raw] = xlsread(‘finallabe.xlsx‘,‘sheet0‘);

[m,n]=size(raw);

for i=1:m

for j=1:n

test(i,j)=str2num(cell2mat(raw(i,j)));

end

end

% load(‘train.mat‘);

% load(‘test.mat‘);

[m,~]=size(data);

[n,~]=size(test);

f=[data(:,1:end-1);test(:,1:end-1)];

x=mapminmax(f‘,0,1);

x=x‘;

fea_tr=x(1:m,:);

lab_tr=data(:,end)+1;

fea_ts=x(m+1:end,:);

lab_ts=test(:,end)+1;

output=full(ind2vec(lab_tr‘));

net=newff(fea_tr‘,output,10);

net.trainParam.epochs=1000;

net.trainParam.lr=0.1;

net.trainParam.goal=0.00001;

net=train(net,fea_tr‘,output);

y=sim(net,fea_ts‘);

predict=vec2ind(y)‘;

p=sum(predict==lab_ts)/length(predict);

时间: 2024-10-12 22:50:38

第五次毕业设计的相关文章

第五次毕业设计任务书(4.2--4.9)

一.计划进度 时间 内容 4.9-4.15 开始写毕业论文,继续编写毕设代码. 4.16-4.22 大致程序可以运行. 4.23-4.29 继续编写毕设程序,修改细节部分,完成毕业论文初稿. 4.30-4.29 完善毕业论文和毕业设计 4.30-5.6 完善毕业设计和论文 5.6-5.12 毕业论文定稿和准备答辩 二.本周研究内容. Apriori算法 def createC1( dataSet ): ''''' 构建初始候选项集的列表,即所有候选项集只包含一个元素, C1是大小为1的所有候选项

高级UI交互设计师就业班(签约就业)

联系人:杨老师联系手机:15618824377 联系电话:021-60907382联系QQ:1253379395一.第一阶段(美学设计与软件技能)1.商务办公:windows.word.excel.ppt办公应用:办公软件在专业中的应用2.美术设计基础:设计素描.水粉.速写的原理及实践,投影.视图.透视,灯光表现,户外写生3.美术设计提高:设计素描.水粉提高课程.光和影的写实手法.审美观念的提高.色彩搭配的提高,配色原理的提高.4.手绘图标:二维剪影图标.三维写实图标案例实训,了解创意在设计中的

第一次毕业设计任务书

一.毕业设计安排进度 计划安排时间 计划完成内容 是否完成 2017.3.1---2017.3.7 了解系统需求 是 2017.3.8-2017.3.21 了解算法.数据库以及相关概念 待完成 2017.3.23-2017.5.9 初步毕设,以及完成毕业论文初稿 待完成 2017.5.10-5.28 完善毕业论文和毕业设计,准备答辩 待完成 二.本周研究内容 关联规则 关联规则是由 Agrawal 等人在 1993 年首次提出的,是挖掘数据之间关联知识最常用的方法.关联规则的目的在于在一个数据集

2016届毕业设计(论文) 基本规范及档案袋封面填写要求

  一.论文册要求及装订顺序:(注:1-6装订成一册,7-10单独存放档案材料中) (1)论文册外封面(使用全校统一的封面,论文用毕业论文封面,设计说明书用毕业设计封面). (2)原创性声明及论文使用授权声明. (3)立题卡. (4)任务书. (5)开题报告. (6)毕业论文或毕业设计. (7)中期检查表. (8)成绩评定表. (9)中英文翻译. (10)答辩记录. 二.毕业设计材料日期填写: (1)立题卡.任务书填写时间:2016年1月15日 (2)开题报告填写时间:      2016年3月

关于写毕业设计网页代码写后感

哎,心累! 开始      本次本着自己养活自己的原则,接了三个学姐的毕业设计,都是是把她们的设计图编写成网页.实际都是一些布局规整,页面简介的网页.虽然一份网页有15页,但其实以正常速度大约两天就可以写完.所以毫无顾虑,接了三份,时间比较赶,差不多都三天之类要(不是同时接的). 过程     第一个学姐的设计是关于美食方面的网页,十五张网页大概只有五种样式.一共是三个人做,但第一次经验不足,在分配任务时非常随意,没有按照网页样式来分配,本来里面有八张样式一样的网页,硬是我们三人一人两三张给做完

第一次毕业设计任务

一. 毕业设计安排进度 计划安排时间 计划完成内容 是否完成 2017.3.1---2017.3.7 了解系统需求 是 2017.3.8---2017.4.1 整理项目需要制作的细节 2017.4.2-2017.5.1 具体代码实现到最后完工 2017.5.2---2017.5.22 完成论文部分内容,并且为答辩做好准备 二.本周研究内容. 1.理清思路,整理出项目的需求,包括确定游戏的类型决定做横版ARPG游戏(参考游戏<冒险岛>).游戏中涉及到的场景设想等. 2.对unity中需要使用的C

毕业设计课题大全

标题: 交换机端口数据流量信息采集方法评述(1人) 目的: 本题目意在通过检索"截获交换机封包"的相关资料,研究对交换机端口流量进行实时监测的手段和方法及实现的原理. 内容:论文要求分析交换机内部封包的交换和计数原理,进而探查如何通过局域网络监测交换机端口的实时流量信息. 参考资料:思科CCNA和CCNP认证教材,及相关参考资料 计算机专业毕业设计题目大全 http://blog.renren.com/share/250527820/12343150865 重点考虑: 5.电子邮件服务

2016届毕业生-毕业设计的相关事项

2016届毕业生-毕业设计的相关事项 持续更新,注意通知 通知1:指导开题的通知:(2016-2-15) 2016年2月24日-2016年3月1日,请同学们到学校.届时我在办公室进行就如何开题,进行指导(具体时间,电话联系). 要求1:按时间到学校.集中指导时不能按时出勤的,将按学院相关要求处理. 要求2:认真理解毕业设计课题. 要求3:认真撰写开题报告,准备3分钟答辩和5-7页PPT. 附录1. 开题报告          开题报告作为毕业设计答辩委员会对学生答辩资格审查的依据资料之一,应在指

毕业设计之房产中介系统源码

毕业设计之房产中介系统源码 本项目是大学毕业设计使用的. 功能如下: (1)    用户管理模块 用户管理模块实现的是对于手中有房源出租或出售(也可能是正在寻求房屋信息的求租求购者)的人,可以选择直接房屋系统的首页,查看最基本的房源以及需求信息,但若想自己的房源让更多的人知道就必须先进行用户的注册,登录以后发布信息.必要时用户可以修改自己的基本信息,包括登录密码. (2)    房源租售管理 这里的房源租售管理指的是用户对自己发布过的房源进行管理.首先,用户把自己手上的房屋出租或出售信息如房源地