• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

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

评论

共有 条评论