查看: 2077|回复: 2|关注: 0

[已解决] GRNN——鸢尾花种类识别

[复制链接]

新手

5 麦片

财富积分


050


2

主题

2

帖子

0

最佳答案
  • 关注者: 1
发表于 2019-7-25 22:05:48 | 显示全部楼层 |阅读模式

代码如下:
(数据可以去网站找,本人手里也有,若需要,请评论里请留邮箱)

clear all

clc

%清空环境

load iris_data.mat

%导入数据

P_train=[];

T_train=[];

P_test=[];

T_test=[];

for I=1:3

temp_input=features((I-1)*50+1:i*50,:);

temp_output=classes((I-1)*50+1:i*50,:);

n=randperm(50);

%训练集-120样品

P_train=[P_train temp_input(n(1:40),:)'];

T_train=[T_train temp_output(n(1:40),:)'];

%测试集-30样品

P_test=[P_test temp_input(n(41:50),:)'];

T_test=[T_test temp_output(n(41:50),:)'];

end

%建立模型

result_grnn=[];

result_pnn=[];

time_grnn=[];

time_pnn=[];

for I=1:4;

for j=I:4;

p_train=P_train(I:j,:);

p_test=P_test(I:j,:);

%GRNN创建及仿真测试

t=cputime;

%创建网络

net_grnn=newgrnn(g_train,T_train);

%仿真测试

t_sim_grnn=sim(net_grnn,p_test);

T_sim_grnn=round(t_sim_grnn);

t=cputime-t;

time_grnn=[time_grnn t];

result_grnn=[result_grnn T_sim_grnn'];

%PNN创建及仿真测试

t=cputime;

Tc_train=ind2vec(T_train);

%创建网络

net_pnn=newpnn(p_train,Tc_train,Tc_train);

%仿真测试

Tc_test=ind2vec(T_test);

t_sim=sim(nrt_pnn,p_test);

T_sim_pnn=vec2ind(t_sim_pnn);

T=cputime-t;

time_pnn=[time_pnn t];

result_pnn=[result_pnn T_sim_pnn’];

end

   end

%性能评价

%正确率

accuracy_grnn=[];

accuracy_pnn=[];

time=[];

for i=1:10

    accuracy_1=length(find(result_grnn(:,i)==T_test'))/length(T_test);

   accuracy_2=length(find(result_pnn(:,i)==T_test'))/length(T_test);

    accuracy_grnn=[accuracy_gnnaccuracy_grnn accuracy_1];

    accuracy_pnn=[accuracy_pnnaccuracy_2];

end

%结果对比

result=[T_test'result_grnn result_pnn]

accuracy=[accuracy_grnn;accuracy_pnn]

time=[time_grnn;time_pnn]

%绘图

figure(1)

plot(1:30,T_test,'bo',1:30,result_grnn(:,4),'r-*',1:30,result_pnn(:,4),'k:^1')

grid on

xlabel('测试集样本编号')

ylabel('测试集样本类别')

string={'测试集预测结果对比(GRNNvs PNN)':['正确率'num2str(accuracy_grnn(4))*100])'%(GRNN vs'num2str(accuracy_pnn(4)*100)'%(PNN))]}

title(string)

legend('真实值','GRNN预测值','PNN预测值')

figure(2)

plot(1:10,accuracy(1,:),'r-*',1:10,accuracy(2,:),'b:o')

grid on

xlabel('模型编号')

ylabei('测试集正确率')

title('10个模型的测试集正确率对比(GRNN vs PNN)')

legend('GRNN','PNN')

figure(3)

plot(1:10,time(1,:),'r-*',1:10,time(2,:),'b:o')

grid on

xlabel('模型编号')

ylabei('运行时间(s)')

title('10个模型的运行时间对比(GRNN vs PNN)')

legend('GRNN','PNN')


新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2019-8-19 15:18:04 | 显示全部楼层
你好,可以要你的数据吗,Zhao_ruiGZ@163.com谢谢

新手

5 麦片

财富积分


050


4

主题

15

帖子

0

最佳答案
发表于 2019-10-5 22:49:33 | 显示全部楼层
G-RNN是图循环神经网络?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表