LVQ神经网络的分类
生活随笔
收集整理的這篇文章主要介紹了
LVQ神经网络的分类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<span style="font-size:18px;">%% 清空環境變量
clear all
clc
warning off
%% 導入數據
load data.mat
a=randperm(569);
Train=data(a(1:500),:);
Test=data(a(501:end),:);
% 訓練數據
P_train=Train(:,3:end)';
Tc_train=Train(:,2)';
T_train=ind2vec(Tc_train);
% 測試數據
P_test=Test(:,3:end)';
Tc_test=Test(:,2)';
%% 創建網絡
count_B=length(find(Tc_train==1));
count_M=length(find(Tc_train==2));
rate_B=count_B/500;
rate_M=count_M/500;
net=newlvq(minmax(P_train),20,[rate_B rate_M],0.01,'learnlv1');
% 設置網絡參數
net.trainParam.epochs=1000;
net.trainParam.show=10;
net.trainParam.lr=0.1;
net.trainParam.goal=0.1;
%% 訓練網絡
net=train(net,P_train,T_train);
%% 仿真測試
T_sim=sim(net,P_test);
Tc_sim=vec2ind(T_sim);
result=[Tc_sim;Tc_test]
%% 結果顯示
total_B=length(find(data(:,2)==1));
total_M=length(find(data(:,2)==2));
number_B=length(find(Tc_test==1));
number_M=length(find(Tc_test==2));
number_B_sim=length(find(Tc_sim==1 & Tc_test==1));
number_M_sim=length(find(Tc_sim==2 &Tc_test==2));
disp(['病例總數:' num2str(569)...' 良性:' num2str(total_B)...' 惡性:' num2str(total_M)]);
disp(['訓練集病例總數:' num2str(500)...' 良性:' num2str(count_B)...' 惡性:' num2str(count_M)]);
disp(['測試集病例總數:' num2str(69)...' 良性:' num2str(number_B)...' 惡性:' num2str(number_M)]);
disp(['良性乳腺腫瘤確診:' num2str(number_B_sim)...' 誤診:' num2str(number_B-number_B_sim)...' 確診率p1=' num2str(number_B_sim/number_B*100) '%']);
disp(['惡性乳腺腫瘤確診:' num2str(number_M_sim)...' 誤診:' num2str(number_M-number_M_sim)...' 確診率p2=' num2str(number_M_sim/number_M*100) '%']);
</span>
總結
以上是生活随笔為你收集整理的LVQ神经网络的分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PNN神经网络预测类别的例子
- 下一篇: MATLAB 基本数据类型和调用方式