• 大小: 26KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: 基于SVM  

资源简介

支持向量机是一个性能比较好的分类器,但直接用于做分类不一定能得到好的性能,但若能结合好的特征选择算法分类性能会大大提高,本程序就是结合我们实验室提出的特征选择方法再加上SVM 得到好的结果

资源截图

代码片段和文件信息

function [featureaccuracy]=CFSPabs_SBFS(data_input)
%%
% 实现 CFSPabs 与SVM的顺序后向 浮动 混合特征选择
%%
[mn]=size(data_input);
% [ gi giF ]=f_score( data_input );
rest_fea=1:1:n-1;
select_fea=rest_fea;
%% 首先使用 全部特征子集 训练SVM,得到一个平均正确率
tem_acc=[]; 
% feature={};
indices=crossvalind(‘Kfold‘data_input(1:mn)5); % 十折交叉验证 随机分包
 for i=1:5
     test=(indices==i); % 获得test集元素在数据集中对应的单元编号
     train=~test; % train集元素的编号为非test元素的编号
     train_data=data_input(train:); % 从数据集中划分出train样本的数据
     test_data=data_input(test:);
     [pre_labelacc]=SVM_SFS(train_datarest_fea); 
     tem_acc=[tem_accacc(11)];
 end
 max_acc=mean(tem_acc);
%  feature{1}=rest_fea;
%% 尝试从剩余特征子集中去除一个特征,并计算相应的DFS的值
k=1;
% while ~isempty(rest_fea)
while length(rest_fea)-1>0
    dfs=[];
    k=k+1;
    d=size(rest_fea2);
    for i=1:d
        data=[];
        visit=zeros(1d);
%%
        visit(i)=1;
        rest=(visit==1);
        select=~rest;
        tem_fea=rest_fea(1select);
        len=size(tem_fea2);
%             tem_fea=select(1rest);
%% 
        for j=1:len
            data(:j)=data_input(:tem_fea(j)); 
        end
        data(:end+1)=data_input(:end); %加类标列
        ms=CFSPabs_score(data); % 计算临时特征的DFS值
%         dfs(i)=dfsi(k);
%         if dfsi(k)>tem1
%             tem1=dfsi(k);
%             max=rest_fea(i);
%         end
%         select_fea=[select_feamax];
%         if rest_fea(j)==max
        dfs=[dfsms];
    end
    [~ind]=sort(dfs‘descend‘);
    visit=zeros(1d);
    visit(ind(1))=1;
    delete_fea=rest_fea(ind(1)); % 本次去除的特征编号
    rest1=(visit==1);
    select1=~rest1;
    rest_fea=rest_fea(1select1);
    
   %% 计算特征数减 1 的特征子集的正确率
    tem_acc=[]; 
    indices=crossvalind(‘Kfold‘data_input(1:mn)5); % 十折交叉验证 随机分包
     for i=1:5
         test=(indices==i); % 获得test集元素在数据集中对应的单元编号
         train=~test; % train集元素的编号为非test元素的编号
         train_data=data_input(train:); % 从数据集中划分出train样本的数据
         test_data=data_input(test:);
         [pre_labelacc]=SVM_SFS(train_datarest_fea); 
         tem_acc=[tem_accacc(11)];
     end
     meanAcc=mean(tem_acc);
%          accuracy=[accuracymean(tem_acc)];
     if meanAcc>=max_acc
%          delete_fea=rest_fea(ind(1));
         len1=length(select_fea);
         for i=1:len1
             if select_fea(i)==delete_fea
                 visit=zeros(1len1);
                 visit(i)=1;
                 rest2=(visit==1);
                 select2=~rest2;
                 select_fea=select_fea(1select2); 
                 break;
             end
         end
     end
     max_acc=meanAcc;
end 
feature=select_fea;
accuracy=max_acc;
end
        
        
        
        
        
        
        
        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-24 17:10  based SVM fs\
     文件        2979  2015-03-27 18:37  based SVM fs\CFSPabs_SBFS.m
     文件        2656  2015-03-27 10:10  based SVM fs\CFSPabs_SBS.m
     文件        2627  2015-03-27 10:50  based SVM fs\CFSPabs_SFFS.m
     文件        2398  2015-03-25 22:13  based SVM fs\CFSPabs_SFS.m
     文件         415  2015-03-22 19:42  based SVM fs\CFSPabs_score.m
     文件        2971  2015-03-27 18:36  based SVM fs\DFS_SBFS.m
     文件        2628  2015-03-27 16:52  based SVM fs\DFS_SBS.m
     文件        2615  2015-03-28 09:34  based SVM fs\DFS_SFFS.m
     文件        2381  2017-10-30 20:09  based SVM fs\DFS_SFS.m
     文件        1937  2015-03-25 09:45  based SVM fs\D_SBFS.m
     文件        1219  2017-01-04 09:31  based SVM fs\D_SFFS.m
     文件        1007  2017-11-24 16:46  based SVM fs\D_SFS.m
     文件        1891  2015-03-24 22:35  based SVM fs\G_SBFS.m
     文件        1236  2017-05-08 16:15  based SVM fs\G_SFFS.m
     文件         772  2017-11-24 16:43  based SVM fs\SVM_SFS.m
     文件         988  2017-09-11 14:20  based SVM fs\WPS演示.lnk
     文件        1228  2017-01-04 19:55  based SVM fs\d_score.m
     文件        1811  2015-03-26 21:42  based SVM fs\dfs_score.m
     文件         276  2017-09-17 18:33  based SVM fs\divide_sample.m
     文件        1252  2017-09-15 17:01  based SVM fs\f_score.m
     文件        1059  2015-03-21 10:13  based SVM fs\iris.mat
     文件         129  2017-11-24 16:31  based SVM fs\main.m
     文件         523  2015-03-22 16:33  based SVM fs\rccPearson.m
     文件         165  2015-03-24 11:14  based SVM fs\test.m
     文件         131  2017-11-24 16:41  based SVM fs\testji.m
     文件        5391  2015-03-24 19:54  based SVM fs\wine.mat
     目录           0  2017-10-25 09:24  based SVM fs\第二章\
     文件          70  2017-01-05 09:45  based SVM fs\第二章\main.m

评论

共有 条评论