GRNN/PNN:基于GRNN、PNN两神经网络实现并比较鸢尾花种类识别正确率、各个模型运行时间对比—Jason niu
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);
P_train = [P_train temp_input(n(1:40),:)'];
T_train = [T_train temp_output(n(1:40),:)'];
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
,:);
t =
cputime
;
net_grnn = newgrnn(p_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'];
t =
cputime
;
Tc_train = ind2vec(T_train);
net_pnn = newpnn(p_train,Tc_train);
Tc_test = ind2vec(T_test);
t_sim_pnn = sim(net_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_grnn accuracy_1];
accuracy_pnn = [accuracy_pnn accuracy_2];
end
result = [T_test' result_grnn result_pnn]
accuracy = [accuracy_grnn;accuracy_pnn]
time = [time_grnn;time_pnn]
|
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。