资源简介
BP神经网络分类MATLAB代码+测试数据,亲测绝对可运行,绝对业界良心
代码片段和文件信息
clc;
clear;
load(‘irisdata.mat‘);
%读取训练数据
%[f1f2f3f4class] = textread(‘trainData.txt‘ ‘%f%f%f%f%f‘150);
f1=[setosa(:1);versicolour(:1);virginica(:1)];
f2=[setosa(:2);versicolour(:2);virginica(:2)];
f3=[setosa(:3);versicolour(:3);virginica(:3)];
f4=[setosa(:4);versicolour(:4);virginica(:4)];
class=[ones(501);ones(501)*2;ones(501)*3];
%特征值归一化
[inputminImaxI] = premnmx( [f1 f2 f3 f4 ]‘) ;
%构造输出矩阵
s = length( class) ;
output = zeros( s 3 ) ;
for i = 1 : s
output( i class( i ) ) = 1 ;
end
%创建神经网络
net = newff( minmax(input) [10 3] ); % { ‘logsig‘ ‘purelin‘ } ‘traingdx‘ ) ;
%设置训练参数
net.trainparam.show = 50 ;
net.trainparam.epochs = 500 ;
net.trainparam.goal = 0.01 ;
net.trainParam.lr = 0.01 ;
%开始训练
net = train( net input output‘ ) ;
%读取测试数据
% [t1 t2 t3 t4 c] = textread(‘testData.txt‘ ‘%f%f%f%f%f‘150);
t1=f1;
t2=f2;
t3=f3;
t4=f4;
c=class;
%测试数据归一化
testInput = tramnmx ( [t1t2t3t4]‘ minI maxI ) ;
%仿真
Y = sim( net testInput ) ;
%统计识别正确率
[s1 s2] = size( Y ) ;
hitNum = 0 ;
for i = 1 : s2
[m Index] = max( Y( : i ) ) ;
if( Index == c(i) )
hitNum = hitNum + 1 ;
end
end
sprintf(‘识别率是 %3.3f%%‘100 * hitNum / s2 )
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1332 2015-01-13 17:14 BP_demo.m
文件 2210 2015-01-13 16:54 irisdata.mat
- 上一篇:huff编解码matlab算法
- 下一篇:matlab边缘化处理代码
相关资源
- matlab边缘化处理代码
- huff编解码matlab算法
- 朴素贝叶斯算法matlab代码实现
- FDBPM算法matlab程序
- matlab数据的读入和预处理
- 14节点潮流计算matlab程序
- 图像稀疏表示MATLAB
- 基于MATLAB的OFDM系统仿真程序
- 用matlab实现的bezier n阶三角曲面生成算
- 毕业设计 基于MATLAB的vsb调制解调源代
- 毕业设计 基于MATLAB的qdpsk仿真调制解
- 音乐合成之MATLAB实现
- OFDM信道估计MATLAB代码
- UWB matlab仿真
- 泰勒图MATLAB程序
- 基于最小错误率的Bayes分类器的MATLA
- 船舶运动控制MATLAB工具箱
- matlab调用百度地图API函数
- 关于平面应力问题有限元法——三角
- QAM星座图matlab仿真
- optisystem和matlab协同仿真
- 无中线星形联接三相交流调压器仿真
- 6s大气纠正范例 和Matlab计算源码
- 经典matlab图像
- 多径衰落仿真器matlab代码
-
matlab机构运动仿真simuli
nk--四连杆机 - 四叉树分割 matlab实现算法
- 东南大学 matlab 图像边缘检测算法 代
- matlab RS编码
- 计算rice.png米粒个数以及大小的matla
评论
共有 条评论