免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
BP神經(jīng)網(wǎng)絡(必看一看就懂)

%%神經(jīng)網(wǎng)絡——乳腺癌診斷

%% 清空環(huán)境變量

clear all

clc

warning off

%%導入數(shù)據(jù)

data=[

5   1   1   1   2   1   3   1   1   1

3   1   1   1   2   2   3   1   1   1

4   1   1   3   2   1   3   1   1   1

1   1   1   1   2   10  3   1   1   1

2   1   1   1   2   1   1   1   5   1

1   1   1   1   1   1   3   1   1   1

4   1   1   1   2   1   2   1   1   1

3   1   1   1   2   1   2   1   1   1

1   1   1   1   2   1   3   1   1   1

3   2   1   1   1   1   2   1   1   1

2   1   1   1   2   1   2   1   1   1

3   1   1   1   1   1   2   1   1   1

2   1   1   2   2   1   3   1   1   1

2   1   1   1   2   1   2   1   1   1

6   2   1   1   1   1   7   1   1   1

1   1   1   1   2   1   2   1   2   1

1   1   1   1   2   1   2   1   1   1

1   1   1   1   2   2   2   1   1   1

1   1   1   1   2   1   3   2   1   1

1   1   2   1   2   2   4   2   1   1

5   3   1   2   2   1   2   1   1   1

2   1   1   1   3   1   2   1   1   1

5   4   4   5   7   10  3   2   1   1

6   8   8   1   3   4   3   7   1   1

2   1   2   1   2   1   3   1   1   1

4   2   1   1   2   1   2   1   1   1

2   1   1   1   2   1   2   1   1   1

1   1   1   1   2   3   3   1   1   1

4   1   1   1   2   1   3   1   1   1

6   1   1   1   2   1   3   1   1   1

5   1   1   1   2   1   2   1   1   1

1   1   3   1   2   1   1   1   1   1

3   1   2   1   2   1   2   1   1   1

4   1   1   3   2   1   3   1   1   1

1   1   1   1   2   1   2   1   1   1

4   1   1   1   2   1   3   1   1   1

5   1   3   1   2   1   2   1   1   1

1   3   3   2   2   1   7   2   1   1

1   1   4   1   2   1   2   1   1   1

3   1   1   1   2   3   3   1   1   1

2   2   2   1   1   1   7   1   1   1

5   3   3   3   2   3   4   4   1   2

8   7   5   10  7   9   5   5   4   2

10  7   7   6   4   10  4   1   2   2

7   3   2   10  5   10  5   4   4   2

2   5   3   3   6   7   7   5   1   2

10  4   3   1   3   3   6   5   2   2

5   6   5   6   10  1   3   1   1   2

7   8   7   2   4   8   3   8   2   2

5   3   3   4   2   4   3   4   1   2

5   5   5   8   10  8   7   3   7   2

10  6   6   3   4   5   3   6   1   2

8   2   4   1   5   1   5   4   4   2

9   5   5   2   2   2   5   1   1   2

6   3   4   1   5   2   3   9   1   2

10  4   2   1   3   2   4   3   10  2

5   3   4   1   8   10  4   9   1   2

6   10  2   8   10  2   7   8   10  2

9   4   5   10  6   10  4   8   1   2

8   10  10  8   7   10  9   7   1   2

7   4   6   4   6   1   4   3   1   2

10  5   5   3   6   7   7   10  1   2

5   2   3   4   2   7   3   6   1   2

10  7   7   3   8   5   7   4   3   2

10  10  10  8   6   1   8   9   1   2

5   4   4   9   2   10  5   6   1   2

6   10  10  2   8   10  7   3   3   2

10  10  10  4   8   1   8   10  1   2

3   7   7   4   4   9   4   8   1   2

9   5   8   1   2   3   2   1   5   2

10  3   6   2   3   5   4   10  2   2

10  5   5   6   8   8   7   1   1   2

8   10  10  1   3   6   3   9   1   2

5   2   3   1   6   10  5   1   1   2

5   3   5   5   3   3   4   10  1   2

9   10  10  1   10  8   3   3   1   2

8   3   8   3   4   9   8   9   8   2

10  6   4   1   3   4   3   2   3   2

]%

%x=xlsread('d:/AData2.xls',1, 'B2:J21')%

a=randperm(78);

Train=data(a(1:60),:)

Test=data(a(61:end),:)

% 訓練數(shù)據(jù)

P_train=Train(:,1:end-1)'

Tc_train=Train(:,end)'

T_train=ind2vec(Tc_train);

% 測試數(shù)據(jù)

P_test=Test(:,1:end-1)';

Tc_test=Test(:,end)';

%% K-fold交叉驗證確定最佳神經(jīng)元個數(shù)

k_fold=5;

Indices=crossvalind('Kfold',size(P_train,2),k_fold);

error_min=10e10;

best_number=1;

best_input=[];

best_output=[];

best_train_set_index=[];

best_validation_set_index=[];

h=waitbar(0,'正在尋找最佳神經(jīng)元個數(shù).....');

for i=1:k_fold

    % 驗證集標號

    validation_set_index=(Indices==i);

    % 訓練集標號

    train_set_index=~validation_set_index;

    % 驗證集

    validation_set_input=P_train(:,validation_set_index);

    validation_set_output=T_train(:,validation_set_index);

    % 訓練集

    train_set_input=P_train(:,train_set_index);

    train_set_output=T_train(:,train_set_index);

    for number=10:30

        count_B_train=length(find(Tc_train(:,train_set_index)==1));

        count_M_train=length(find(Tc_train(:,train_set_index)==2));

        rate_B=count_B_train/length(find(train_set_index==1));

        rate_M=count_M_train/length(find(train_set_index==1));

        net=newlvq(minmax(train_set_input),number,[rate_B rate_M]);

        % 設置網(wǎng)絡參數(shù)

        net.trainParam.epochs=1000;

        net.trainParam.show=10;

        net.trainParam.lr=0.1;

        net.trainParam.goal=0.1;

        % 訓練網(wǎng)絡

        net=train(net,train_set_input,train_set_output);

        waitbar(((i-1)*21+number)/114,h);

        %% 仿真測試

        T_sim=sim(net,validation_set_input);

        Tc_sim=vec2ind(T_sim);

        error=length(find(Tc_sim~=Tc_train(:,validation_set_index)));

        if error<error_min

            error_min=error;

            best_number=number;

            best_input=train_set_input;

            best_output=train_set_output;

            best_train_set_index=train_set_index;

            best_validation_set_index=validation_set_index;

        end

    end

end

disp(['經(jīng)過交叉驗證,得到的最佳神經(jīng)元個數(shù)為:' num2str(best_number)]);

close(h);

 

%% 創(chuàng)建網(wǎng)絡

count_B=length(find(Tc_train==1));

count_M=length(find(Tc_train==2));

rate_B=count_B/60;

rate_M=count_M/60;

net=newlvq(minmax(P_train),10,[rate_B rate_M],0.01,'learnlv1');

% 設置網(wǎng)絡參數(shù)

net.trainParam.epochs=1000;

net.trainParam.show=10;

net.trainParam.lr=0.1;

net.trainParam.goal=0.1;

%% 訓練網(wǎng)絡

net=train(net,P_train,T_train);

%% 仿真測試

T_sim=sim(net,P_test);

Tc_sim=vec2ind(T_sim);

result=[Tc_sim;Tc_test]

% %% ROC

%     net2 = newpr(P_train,P_test,20);

%     net2 = train(net2,P_train,P_test);

%     irisOutputs = sim(net2,P_train);

%    [tpr,fpr,thresholds] = roc(P_test,irisOutputs)

%% 結(jié)果顯示

total_B=length(find(data(:,end)==1));

total_M=length(find(data(:,end)==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(['病例總數(shù):' num2str(78)...

      '  良性:' num2str(total_B)...

      '  惡性:' num2str(total_M)]);

disp(['訓練集病例總數(shù):' num2str(60)...

      '  良性:' num2str(count_B)...

      '  惡性:' num2str(count_M)]);

disp(['測試集病例總數(shù):' num2str(18)...

      '  良性:' 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) '%']);

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MAT之SVM/BP:SVR(better)和BP兩種方法比較且實現(xiàn)建筑物鋼筋混凝土抗壓強度預測
面試中常見遞歸題目 Java版
多級flash樹型菜單 - ophper | Google Groups
老餅講解|【詳解】matlab
oracle不按字符順序比較
C#截取字符串最后幾位的函數(shù)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服