资源简介
RBF神经网络matlab程序例程,在matlab中通过RBF神经网络完成对数据的预测
代码片段和文件信息
%% I. 清空环境变量
clear all
clc
%% II. 训练集/测试集产生
%%
% 1. 导入数据
load iris_data.mat
%%
% 2 随机产生训练集和测试集
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
%% III. 模型建立
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:);
%%
% 1. GRNN创建及仿真测试
t = cputime;
% 创建网络
net_grnn = newgrnn(p_trainT_train);
% 仿真测试
t_sim_grnn = sim(net_grnnp_test);
T_sim_grnn = round(t_sim_grnn);
t = cputime - t;
time_grnn = [time_grnn t];
result_grnn = [result_grnn T_sim_grnn‘];
%%
% 2. PNN创建及仿真测试
t = cputime;
Tc_train = ind2vec(T_train);
% 创建网络
net_pnn = newpnn(p_trainTc_train);
% 仿真测试
Tc_test = ind2vec(T_test);
t_sim_pnn = sim(net_pnnp_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
%% IV. 性能评价
%%
% 1. 正确率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
%%
% 2. 结果对比
result = [T_test‘ result_grnn result_pnn]
accuracy = [accuracy_grnn;accuracy_pnn]
time = [time_grnn;time_pnn]
%% V. 绘图
figure(1)
plot(1:30T_test‘bo‘1:30result_grnn(:4)‘r-*‘1:30result_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)
plot(1:10accuracy(1:)‘r-*‘1:10accuracy(2:)‘b:o‘)
grid on
xlabel(‘模型编号‘)
ylabel(‘测试集正确率‘)
title(‘10个模型的测试集正确率对比(GRNN vs PNN)‘)
legend(‘GRNN‘‘PNN‘)
figure(3)
plot(1:10time(1:)‘r-*‘1:10time(2:)‘b:o‘)
grid on
xlabel(‘模型编号‘)
ylabel(‘运行时间(s)‘)
title(‘10个模型的运行时间对比(GRNN vs PNN)‘)
legend(‘GRNN‘‘PNN‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 17037 2015-08-15 18:03 Class_4_Code\html\main_GRNN_PNN.html
文件 3184 2015-08-15 18:03 Class_4_Code\html\main_GRNN_PNN.png
文件 8204 2015-08-15 18:03 Class_4_Code\html\main_GRNN_PNN_01.png
文件 9510 2015-08-15 18:03 Class_4_Code\html\main_GRNN_PNN_02.png
文件 7940 2015-08-15 18:03 Class_4_Code\html\main_GRNN_PNN_03.png
文件 8024 2015-08-15 18:04 Class_4_Code\html\main_RBF.html
文件 3103 2015-08-15 18:04 Class_4_Code\html\main_RBF.png
文件 7295 2015-08-15 18:04 Class_4_Code\html\main_RBF_01.png
文件 1105 2010-10-17 14:51 Class_4_Code\iris_data.mat
文件 2780 2015-08-15 18:02 Class_4_Code\main_GRNN_PNN.m
文件 1026 2015-09-13 10:42 Class_4_Code\main_RBF.m
文件 171497 2010-10-14 20:24 Class_4_Code\spectra_data.mat
目录 0 2015-08-15 18:04 Class_4_Code\html
目录 0 2015-08-15 18:00 Class_4_Code
----------- --------- ---------- ----- ----
240705 14
- 上一篇:图像量化程序,包括图像和matlab程序
- 下一篇:MatlabR2019A.7z
相关资源
- 基于Matlab神经网络的图像识别
- 人工神经网络程序
- 机器学习_BP反向传播算法_MATLAB
- LSTM神经网络MATLAB
- matlab bp神经网络包括数据.mat
- RBF神经网络在线自适应源码带注释
- 基于RBF神经网络的PID控制仿真代码
- 粒子群算法求解BP神经网络参数
- BP神经网络matlab(简单而经典).
-
BP神经网络+PID控制simuli
nk仿真 - BP神经网络MATLAB实现不使用工具箱
- GRU的matlab时间序列神经网络
- BP神经网络对iris数据集进行分类 MAT
- MATLAB神经网络编程
- RBF神经网络matlab程序
- BP神经网络与MATLAB神经网络工具箱
- 神经网络 倒立摆控制
- 用模糊神经网络逼近数学函数-MATLAB源
- BP神经网络整定的PID算法_matlab源程序
- 神经网络PID控制程序
- 用GUI设计神经网络-matlab
- matlab实现神经网络的数字识别,有训
- 字母识别,基于matlab的神经网络.zip
- BP神经网络关于空气污染物含量预测
-
BP神经网络PID控制simuli
nk部分的S函数 - 使用bp神经网络进行分布式光伏出力预
- Matlab用梯度下降算法开发的rbf神经网
- 网上找的BP神经网络算法程序和大家分
- 基于蚁群算法和神经网络匹配算法的
- matlab开发-多层反向传播神经网络
评论
共有 条评论