reduct_pawlak.m

来自「REDUCT_PAWLAK 基于Pawlak属性重要度的属性约简算法」· M 代码 · 共 37 行

M
37
字号
function reductattributes=reduct_Pawlak(datain)
%REDUCT_PAWLAK 基于Pawlak属性重要度的属性约简算法
%2009-2-26 zzk
%求核
core=coreofsystem(datain);
%属性约简
B=core;
indofsys=indwithattr(datain);
[c2,r2]=size(indofsys);
%判断IND(B)==IND(c)
rest=restofC(B,datain);%rest为C\B
[c5,r5]=size(rest);
n_rest=r5;%剩下属性列数

while n_rest>0%循环选择a
    a=rest(:,1)%
    sig_a=sig(a,B)
    for i=2:n_rest
        a_temp=rest(:,i)
        if sig(a_temp,B)>sig_a
            sig_a=sig(a_temp,B);
            a=a_temp;
        end    
    end
    
    indofB=indwithattr(B);    
    [c1,r1]=size(indofB);    
    if c1==c2 &r1==r2
        if indofB==indofsys %IND(B)==IND(C)
            reductattributes=B
            return
        end
    else
       B=[a,B];%待续 选择一个sig最小的a
    end
    n_rest=n_rest-1;
end

⌨️ 快捷键说明

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