?? mainprog_compare_16.m
字號:
%兩種遺傳算法:AGA和LAGA比較主程序
% 對16個特征的數據,比較 AGA 與 LAGA 的特征選擇結果
%Name:mainprog_compare_16.m
clear;
close all;
%矩陣準備,準備各類成分基于各種特征下的值的矩陣形式
M_red=load('a.txt');
M_white=load('b.txt');
%歸一化處理
M_red=M_red(:,2:end);
M_white=M_white(:,2:end);
[x_red,y_red]=size(M_red);
[x_white,y_white]=size(M_white);
%將紅細胞和白細胞樣本矩陣組合在一起,并且統一進行歸一化,然后,再分拆回去
M_total=zeros((x_white+x_red),y_red);
for i=1:x_red
M_total(i,:)=M_red(i,:);
end
for i=1:x_white
M_total((i+x_red),:)=M_white(i,:);
end
%M_total
[x_total,y_total]=size(M_total);
for j=1:y_total
for i=1:x_total
M_total(i,j)=(M_total(i,j)-min(M_total(:,j)))/(max(M_total(:,j))-min(M_total(:,j)));
end
end
% M_total
for i=1:x_red
M_red(i,:)=M_total(i,:);
end
for i=1:x_white
M_white(i,:)=M_total((i+x_red),:);
end
%將紅細胞和白細胞樣本矩陣組合在一起,并且統一進行歸一化,然后,再分拆回去,結束!!!!!!!!!
%矩陣準備結束%%%%%%%%%%%%%%%%%%%%%%%%%%%
[x_length,y_length]=size(M_red);
popsize=30; %設置初始參數,群體大小
chromlength=y_length; %字符串長度(個體長度),染色體長度
pop=initpop(popsize,chromlength); %運行初始化函數,隨機產生AGA 和 LAGA 共同的初始種群
[pop_best1,error1,i1,bestfit_temp1]=adapt_pc(M_red,M_white,pop); %調用AGA,進行特征選擇,i1為算法退出時的代數,i1-9 就是第一次達到最優適應值的代數
[pop_best1_chain,error1,i2,bestfit_temp1_chain]=chain(M_red,M_white,pop); %調用LAGA進行特征選擇,i2為算法退出時的代數,i2-9 就是第一次達到最優適應值的代數
%兩種算法的最優適應值隨代數增長的比較圖
plot(1:i1,bestfit_temp1,'b'),title('bestfit_ temp1');
gtext('adapt_ pc')
hold on;
plot(1:i2,bestfit_temp1_chain,'r'),title('bestfit_ temp1');
gtext('add_ chain')
xlabel('generation')
ylabel('fitvalue')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -