模糊神经网络:基于模糊神经网络(Fuzzy Neural Networks,FNN)的数据分类(提供MATLAB代码)

一、模糊神经网络FNN

模糊神经网络(Fuzzy Neural Networks,FNN)结合了神经网络系统和模糊系统的长处,它在处理非线性、模糊性等问题上有很大的优越性,在 智能信息处理方面存在巨大的潜力。原理参考:

MATLAB模糊神经网络的预测算法–预测水质 - 知乎 (zhihu.com)

二、数据集

冷冻疗法数据集(Cryotherapy Dataset)共有90个样例,每个样例有6个属性,可分为2类。

部分数据如下:前六列为属性,最后一列为类别。

1	35	12	5	1	100	0
1	29	7	5	1	96	1
1	50	8	1	3	132	0
1	32	11.7500000000000	7	3	750	0
1	67	9.25000000000000	1	1	42	0
1	41	8	2	2	20	1
1	36	11	2	1	8	0
1	59	3.50000000000000	3	3	20	0
1	20	4.50000000000000	12	1	6	1
2	34	11.2500000000000	3	3	150	0
2	21	10.7500000000000	5	1	35	0
2	15	6	2	1	30	1
2	15	2	3	1	4	1
2	15	3.75000000000000	2	3	70	1
2	17	11	2	1	10	0
2	17	5.25000000000000	3	1	63	1
2	23	11.7500000000000	12	3	72	0
2	27	8.75000000000000	2	1	6	0
2	15	4.25000000000000	1	1	6	1
2	18	5.75000000000000	1	1	80	1

三、数据分类

模糊神经网络的输入维度与Cryotherapy样本集的属性维度保持一致,输出为类别,评价指标为预测类别与真实类别的平均绝对误差(MAE)。Cryotherapy样本集中前70个样例构成训练集,最后20个样例构成测试集。

部分代码如下:

close all
clear
clc
load('Cryotherapy.mat')
TrainNum=70;%前70个作为训练集
Data=Cryotherapy(1:TrainNum,1:6)';%训练集输入
Data=mapminmax(Data, 0, 1);%归一化
inputn=Data';
outputn=Cryotherapy(1:TrainNum,7);%训练集输出
maxgen=2000;%最大训练次数(可以修改)

在训练集上的分类情况:

模糊神经网络:基于模糊神经网络(Fuzzy Neural Networks,FNN)的数据分类(提供MATLAB代码)_第1张图片
训练集的平均绝对误差MAE:0

训练集的分类准确率:100%

在测试集上的分类情况:

模糊神经网络:基于模糊神经网络(Fuzzy Neural Networks,FNN)的数据分类(提供MATLAB代码)_第2张图片

测试集的平均绝对误差MAE:0.15

测试集的分类准确率:85%

由此可见,模糊神经网络用于数据集分类效果显著,分类准确率高。

在训练集上分类准确率达到100%,在测试集上分类准确率达到85%。

四、参考代码

在这里插入图片描述

你可能感兴趣的:(神经网络,MATLAB,IT技术,matlab,神经网络,分类)