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

📄 psoknntest.asv

📁 求解离散问题的pso aco 算法
💻 ASV
字号:

%clear;
%load credit.txt;
%parameterd of PSO

%k=5; %knn
nn=2; %n-fold
wmax=0.9;
wmin=0.1;
vmax=6;
c1=2.0;
c2=2.0;
ps=20; %particles
tmax=50; %iterations
[x,feature]=init(data,textdata); % initizalize data: x as label of class; feature as data set
[n,p]=size(feature);
[x1,feature1]=init(data1,textdata1); % initizalize data: x as label of class; feature as data set
[n1,p1]=size(feature1);
ant_best2=zeros(1,15);
ant_rmse_oca2=zeros(1,10);
as=15; % ants
tmax=50; %iterations
q=0.5;
rmax=20;
r1=5;
ta=0.25;
tb=0.95;
%rand20=zeros(ps,p);%%ACO算法中随机的20组解
%best5=zeros(5,p);%%20组解中最优的5组解
%d=zeros(n,2);%%存储样本的类别,第一列为实际值,第二列为估计值
%rmse=zeros(ps,10);%%第一列为离差值,第二列为粒子(蚂蚁)的编号,第三列为估计值与实际值都为1类的样本个数,第四列
%%列为实际值为第一类估计值为第二类的样本数,第五列为实际值为第二类估计值为第一类的样本数,第六列为实际值与估计值
%%都为第二类的样本数;第七、第八列分别为第一类和第二类数据的正确分类比例;第十列为整体正确分类OCA的值
%%tic
%%[gbest1,gbest_rmse1]=pso(x,feature,wmax,wmin,vmax,c1,c2,ps,tmax); % ps0
%%disp(gbest_rmse1);
%%disp(gbest1);
%%dlmwrite('pso.txt',gbest_rmse1, ' ');
%%dlmwrite('pso.txt',gbest1, ' ');
%%toc

  %%  for i=1:20
%%[gbest1,gbest_rmse1]=pso(x1,feature1,wmax,wmin,vmax,c1,c2,ps,tmax,8); % ps0

%%[ant_best1,ant_rmse_oca1]=aco(x1,feature1,as,q,rmax,r1,ta,tb,tmax,8); % aco


%%tic
%[ant_best1,ant_rmse_oca1]=acoknn(x,feature,as,q,rmax,r1,ta,tb,tmax); % aco
%ant_best2=zeros(1,15);
%ant_rmse_oca2=zeros(1,10);
%%for i=1:10
   %ant_rmse_oca2(1,i)=ant_rmse_oca1(1,i);
%%end

%%for i=1:15
%    ant_best2(1,i)=ant_best1(1,i);
%%end
 %disp(ant_rmse_oca2);
 %disp(ant_best2);
%%toc
 %%   end
    
 %%nn=8;
 %%   dlmwrite('pso.txt',nn,'-append','delimiter', ' ');
 %%    dlmwrite('aco.txt',nn,'-append','delimiter', ' ');



%%    for i=1:20
%%[gbest1,gbest_rmse1]=pso(x,feature,wmax,wmin,vmax,c1,c2,ps,tmax,2); % ps0


%%[ant_best1,ant_rmse_oca1]=aco(x,feature,as,q,rmax,r1,ta,tb,tmax,2);
 % aco

%%tic
%[ant_best1,ant_rmse_oca1]=acoknn(x,feature,as,q,rmax,r1,ta,tb,tmax); % aco
%ant_best2=zeros(1,15);
%ant_rmse_oca2=zeros(1,10);
%%for i=1:10
   %ant_rmse_oca2(1,i)=ant_rmse_oca1(1,i);
%%end

%%for i=1:15
%    ant_best2(1,i)=ant_best1(1,i);
%%end
 %disp(ant_rmse_oca2);
 %disp(ant_best2);
%%toc
 %%   end
%% nn=2;
%%    dlmwrite('pso.txt',nn,'-append','delimiter', ' ');
%%     dlmwrite('aco.txt',nn,'-append','delimiter', ' ');
    
%%for i=1:20
%%[gbest1,gbest_rmse1]=pso(x,feature,wmax,wmin,vmax,c1,c2,ps,tmax,4); % ps0


%%[ant_best1,ant_rmse_oca1]=aco(x,feature,as,q,rmax,r1,ta,tb,tmax,4);
 % aco

%%tic
%[ant_best1,ant_rmse_oca1]=acoknn(x,feature,as,q,rmax,r1,ta,tb,tmax); % aco
%ant_best2=zeros(1,15);
%ant_rmse_oca2=zeros(1,10);
%%for i=1:10
   %ant_rmse_oca2(1,i)=ant_rmse_oca1(1,i);
%%end

%%for i=1:15
%    ant_best2(1,i)=ant_best1(1,i);
%%end
 %disp(ant_rmse_oca2);
 %disp(ant_best2);
%%toc
%%    end

nn=8;
    dlmwrite('pso.txt',nn,'-append','delimiter', ' ');
     dlmwrite('aco.txt',nn,'-append','delimiter', ' ');

for i=1:20
[gbest1,gbest_rmse1]=pso(x,feature,wmax,wmin,vmax,c1,c2,ps,tmax,8); % ps0


[ant_best1,ant_rmse_oca1]=aco(x,feature,as,q,rmax,r1,ta,tb,tmax,8);
 % aco

%%tic
%[ant_best1,ant_rmse_oca1]=acoknn(x,feature,as,q,rmax,r1,ta,tb,tmax); % aco
%ant_best2=zeros(1,15);
%ant_rmse_oca2=zeros(1,10);
%%for i=1:10
   %ant_rmse_oca2(1,i)=ant_rmse_oca1(1,i);
%%end

%%for i=1:15
%    ant_best2(1,i)=ant_best1(1,i);
%%end
 %disp(ant_rmse_oca2);
 %disp(ant_best2);
%%toc
    end
 
disp('程序结束');

%save rasult.mat gbest1(1,:),gbest_rmse1(1,:) -APPEND;
%save rasult.mat ant_best1(1,:),ant_rmse_aco1(1,:) -APPEND;


⌨️ 快捷键说明

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