温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

GRNN与PNN实例对比分析

发布时间:2022-01-14 10:12:00 来源:亿速云 阅读:125 作者:iii 栏目:大数据

这篇文章主要介绍“GRNN与PNN实例对比分析”,在日常操作中,相信很多人在GRNN与PNN实例对比分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”GRNN与PNN实例对比分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

%% 清空环境变量

clear

clc

%% 训练集/测试集产生

% 导入数据

load iris_data.mat

GRNN与PNN实例对比分析  

% 随机产生训练集和测试集

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(p_train,T_train);

GRNN与PNN实例对比分析  

        % 仿真测试

        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);

GRNN与PNN实例对比分析  

        % 仿真测试

        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

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];

%% 绘图

figure(1)

GRNN与PNN实例对比分析  

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

grid on

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

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

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

title(string)

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

figure(2)

GRNN与PNN实例对比分析  

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

grid on

xlabel('模型编号')

ylabel('测试集正确率')

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

legend('GRNN','PNN')

figure(3)

GRNN与PNN实例对比分析  

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

grid on

xlabel('模型编号')

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

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

legend('GRNN','PNN')

到此,关于“GRNN与PNN实例对比分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI