⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 naturalnet.m

📁 利用java
💻 M
字号:
clear all
clc
%data
%胃癌(1)   萎缩性胃炎(2)   非胃病(3)

P1=[ 228   150   135;
    134   117   108;
    0.20  0.07  0.02;
    0.11  0.06  0.12;];%原始数据(用于第一次分类)
P2=[150   135;
    117   108;
    0.07  0.02;
    0.06  0.12;];%(用于第二次分类)

T1=[1 0 0];%原始分来结果(用于第一次分类)
T2=[0 1];%(用于第二次分类)

Q1=[245	200     170     100     255     130     120     160     185     170     165     100;
    134	167     150     167     125     100     133     100     115     125     142     117;
    0.1	0.12	0.07	0.2     0.07	0.06    0.1     0.05	0.05	0.06	0.05	0.07;
    0.4	0.27	0.08	0.14	0.14	0.12    0.26	0.1     0.19	0.04	0.03	0.02;
];          %输入的待分类的数据

%end data

net1 = newp(minmax(P1),1);%新建网络
net2 = newp(minmax(P1),1);


E = 1;%设置误差
net1.adaptParam.passes = 3;
net2.adaptParam.passes = 3;

while(sse(E))
[net1,Y1,E] = adapt(net1,P1,T1);%训练分类网络
[net2,Y2,E] = adapt(net2,P2,T2);
end

Answer1=sim(net1,Q1);%第一次分类结果


Q2=zeros(4,1);j=1;      %组织第二次分类
for i=1:1:size(Answer1,2)
    if(Answer1(i)<1)
        Q2(:,j)=Q1(:,i);
        j=j+1;
    end
end
Answer2=sim(net2,Q2);%第二次分类结果

Consequence=zeros(1,size(Answer1,2));%综合两次分类的结果
j=1;
for i=1:1:size(Answer1,2)
    if(Answer1(i)<1)
        Consequence(i)=Answer2(j)+2;
        j=j+1;
    else
        Consequence(i)=1;
    end
end
Consequence     %得出最后结果

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%           以下是分析最后结果,并画出出散点图:
%           分析说明:
%               对输入数据分成3类,并将他们存储在矩阵ad1-胃癌(1),ad2-萎缩性胃炎(2),ad3-非胃病(3)中;
%               根据分类结果画出:  原始数据散点图,胃癌与非胃癌散点图,三种情况散点图;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
i=1;j=1;k=1;l=1;
ad1=zeros(4,1);ad2=zeros(4,1);ad3=zeros(4,1);
for(i=1:1:size(Consequence,2))
    if(Consequence(i)==1)
        ad1(:,j)=Q1(:,i);
        j=j+1;
    end
    if(Consequence(i)==2)
        ad2(:,k)=Q1(:,i);
        k=k+1;
    end
    if(Consequence(i)==3)
        ad3(:,l)=Q1(:,i);
        l=l+1;
    end
end

ad1
ad2
ad3

plotpv(P1(1:2,:),T1);
figure;
plotpv(Q1(1:2,:),Answer1);
figure;
plotpv(Q2(1:2,:),Answer2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -