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

📄 sfs.m

📁 一个用matlab写的特征挑选
💻 M
字号:
%----4.17编 顺序前进法特征选择 成功!
clear;
clc;
%--------特征导入  请自行修改
M=512;N=512;
load coourfeature16_0521_Aerial1 %%%共生矩阵 96.14%
wfeature{1}=coourfeature(:,1);
wfeature{2}=coourfeature(:,2);
wfeature{3}=coourfeature(:,3);
load  fufeature_0521_SARAerial1_512%%复小波  98.26%
for i=1:13
    wfeature{3+i}=wavefeature(:,i);
end
load wavefeature_0521_SARAerial1_512%%%非下采样小波  97.58%
for i=1:7
    wfeature{16+i}=wavefeature(:,i);
end
load wavefeature_0521_Aerial1%%小波 97.65%
for i=1:7
    wfeature{23+i}=wavefeature(:,i);
end
% load rwt_cofeature96_0423_lsy1
% for i=1:96
%     wfeature{30+i}=feature(:,i);
% end
%%%%%%%----------归一化
[m n]=size(wfeature{1});
for j=1:30%一共30组特征 这里 请自行修改
    mx=max(wfeature{j});
    mi=min(wfeature{j});
    mxx=(mx-mi);
    mii=ones([m n])*mi;
    wfeature{j}=(wfeature{j}-mii)./mxx;
end
%%---------------SFS  先选4个特征尝试
chosen=[];%%表示已选的特征
chosen=[chosen 1];
Jc=0;%%选出的J值
for j=1:5  %选5个特征
    J=zeros([1 30]);
  for i=2:30  %一共30组特征 这里 请自行修改
    [mm nn]=size(chosen);
    for p=1:nn
        if i==chosen(p)
            J(i)=0;
           break;   
        else
          J(i)=J(i)-sum(sum((wfeature{i}-wfeature{chosen(p)}).^2));
          
        end       
    end    
  end
  mi=min(J);
  for i=1:30
      if J(i)==0
           J(i)=mi;
      end
  end
  ma=max(J);
   for i=1:30
      if J(i)==ma
          chosen=[chosen i];
           break;
      end
   end
end
save Aerial1_6t_chosen chosen
[mm nn]=size(chosen);
tezh=[];
for i=1:nn
    tezh=[tezh wfeature{chosen(i)}];
end
%%%%%%%%聚类
[IDC,U]=kmeans(tezh,2);
       cc(IDC==1,1)=0;
       cc(IDC==2,1)=0.75;
 
g=reshape(cc,M,N); 
 figure,imshow(g);




⌨️ 快捷键说明

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