资源简介
支持向量机是一个性能比较好的分类器,但直接用于做分类不一定能得到好的性能,但若能结合好的特征选择算法分类性能会大大提高,本程序就是结合我们实验室提出的特征选择方法再加上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 ba
文件 2979 2015-03-27 18:37 ba
文件 2656 2015-03-27 10:10 ba
文件 2627 2015-03-27 10:50 ba
文件 2398 2015-03-25 22:13 ba
文件 415 2015-03-22 19:42 ba
文件 2971 2015-03-27 18:36 ba
文件 2628 2015-03-27 16:52 ba
文件 2615 2015-03-28 09:34 ba
文件 2381 2017-10-30 20:09 ba
文件 1937 2015-03-25 09:45 ba
文件 1219 2017-01-04 09:31 ba
文件 1007 2017-11-24 16:46 ba
文件 1891 2015-03-24 22:35 ba
文件 1236 2017-05-08 16:15 ba
文件 772 2017-11-24 16:43 ba
文件 988 2017-09-11 14:20 ba
文件 1228 2017-01-04 19:55 ba
文件 1811 2015-03-26 21:42 ba
文件 276 2017-09-17 18:33 ba
文件 1252 2017-09-15 17:01 ba
文件 1059 2015-03-21 10:13 ba
文件 129 2017-11-24 16:31 ba
文件 523 2015-03-22 16:33 ba
文件 165 2015-03-24 11:14 ba
文件 131 2017-11-24 16:41 ba
文件 5391 2015-03-24 19:54 ba
目录 0 2017-10-25 09:24 ba
文件 70 2017-01-05 09:45 ba
- 上一篇:hws.dll
- 下一篇:485超声波车位检测
评论
共有 条评论