matlab bp神经网络多分类器,matlab nprtool多分类(模式识别神经网络)

本文介绍了如何使用MATLAB的nprtool进行模式识别神经网络搭建,通过鸢尾花数据集展示多分类问题。文章详细讲解了手动编写M函数、使用GUI以及自动生成代码三种方法,并提供了混淆矩阵来评估分类效果,最高测试准确率达到96.7%。
摘要由CSDN通过智能技术生成

一、模式识别神经网络

在matlab命令窗口输入:nnstart 或 nprtool 就可以进入matlab神经网络GUI

二、鸢尾花数据集iris示例

1.输入数据集,划分训练集、测试集

load fisheriris;

[m,n]=size(meas);

data=zeros(m,n+1);

data(:,1:n)=meas;for i=1:m           %将字符串类别标签用数值形式表示if strcmp(species{i},‘setosa‘)      %strcmp(‘A‘,‘B‘)用于比较字符串,找出特定的字符串;类比find(a==b)用来找出特定数值

data(i,n+1)=1;

elseif strcmp(species{i},‘versicolor‘)

data(i,n+1)=2;

elseif strcmp(species{i},‘virginica‘)

data(i,n+1)=3;

end

end%选择训练样本个数

num_train= 60;                 %共150个样本,60个训练集,90个测试集%构造随机选择序列

choose= randperm(length(data)); %随机种子打乱数据样本的顺序

train_data= data(choose(1:num_train),:); %随机选取60个样本

label_temp= train_data(:,end); %提取训练数据的标签 train(:,end)提取最后一列;

label_train= zeros(length(train_data),3); %创建矩阵以储存向量形式的标签;

%把输出分类标签1,2,3 改为工具箱要求的格式 1=[1 0 0],2=[0 1 0],3=[0 0 1]for i = 1:length(train_data)

label_train(i,label_temp(i))= 1;

end

train_data= train_data(:,1:end-1)‘; %提取数据集特征(剔除标签),并进行转置(转置也可以不必ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值