%ART
神经网络的数据分类—患者癌症发病预测
%%
清空环境变量
clc
clear
%%
录入输入数据
%
载入数据并将数据分成训练和预测两类
load
gene.mat;
data=gene;
P=data(1:40,:);
T=data(41:60,:);
%
转置后符合神经网络的输入格式
P=P';
T=T';
%
取输入元素的最大值和最小值
Q
:
Q=minmax(P);
%%
网络建立和训练
%
利用
newc(
)
命令建立竞争网络:
2
代表竞争层的神经元个数,也就是要分类的个数。
0.1
代表学习速率。
net=newc(Q,2,0.1)
%
初始化网络及设定网络参数:
net=init(net);
net.trainparam.epochs=20;
%
训练网络:
net=train(net,P);
%%
网络的效果验证
%
将原数据回带,测试网络效果:
a=sim(net,P);
ac=vec2ind(a)
%
这里使用了变换函数
vec2ind()
,用于将单值向量组变换成下标向量。其调用的格式为:
%
ind=vec2ind(vec)
%
其中,
%
vec
:为
m
行
n
列的向量矩阵
x
,
x
中的每个列向量
i
,除包含一个
1
外,其余元素均为
0
。
%
ind
:为
n
个元素值为
1
所在的行下标值构成的一个行向量。