该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
function select_feature=forwardsearch1(data,a,delta,k)
%%forward search随机前k个重要属性搜索算法
%%%%%%%%%%%%求所有条件属性的依赖度
%%a_下近似阈值
%%b_上近似阈值,对约简结果影响不大
[N,M]=size(data);
C=1:(M-1);
R=C;
b=0.1;
[P1,all_gama]=pos(data,R,a,b,delta);
%%%%%%%%%%%%
%%%%%%%%%%%%初始化
sig=[];
red=[];
C_red=C;
red_gama=0;
%%%%%%%%%%%%%%
while (red_gama
for idx=1:length(C_red);
ai=C_red(idx);
redai=[red ai];
[P2,redai_gama]=pos(data,redai,a,b,delta);
red_ai_sig=redai_gama-red_gama; %%red_ai_sig ai相对red的属性重要度
sig(idx)=red_ai_sig;
end;
%%%%%%%%%%%%%%从前k个重要度高的属性中随机选择一个
[sig1,idx1]=sort(sig,2,'descend');%%对属性的重要进行降序排序结果存在sig1;idx为降序后原来位置相应的index
col1=randi(k);%%生成不大于k的随机整数
x1=sig1(col1); % x1为选中的最大的属性相对重要度值
n1=idx1(col1); % n1为选中的属性对应的下标
%%%%%%%%%%%%%%%
% 任何单个属性的重要度均为0,则 显示 “单个属性的重要度均为0”
if length(sig)==(M-1)&&x1==0
fprintf('单个属性的重要度均为0\n');
end;
red=[red C_red(n1)];%%更新red,加入选中的相对重要度较大的属性
C_red(n1)=[]; %%更新C_red,去除选中的相对重要度较大的属性
[P3,red_gama]=pos(data,red,a,b,delta);
sig=[];
end
select_feature=red;
%select_feature1=num2str(select_feature);
%fprintf('前向搜素reduct = %s\n', select_feature1);
程序如上,要怎么设置参数呢,设置多少呢?