📄 mainprog_compare_40.m
字号:
%两种遗传算法:AGA和LAGA比较主程序
% 对40个特征的数据,比较 AGA 与 LAGA 的特征选择结果
%Name:mainprog_compare_40.m
clear;
close all;
%矩阵准备,准备各类成分基于各种特征下的值的矩阵形式
M_red=load('wave0.txt');
M_white=load('wave1.txt');
%归一化处理
M_red=M_red(1:1000,1:40);
M_white=M_white(1:1000,1:40);
[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,error2,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 + -