ziji.m

来自「关联规则挖掘算法 Apriori算法的Matlab实现 可以自动生成关联规」· M 代码 · 共 34 行

M
34
字号
function [a]=ziji(b)
%对于一个集合,生成该集合的所有非空非全子集
%结果的记录方式
%a{i}{j}  其中i表示含有i个元素的子集,j表示其中的一个
%生成一项子集
m=length(b);
for i=1:m
    a{1}{i}=b(i);
end
n=floor(m/2);
for i=2:n
    %由K-1项子集生成k项子集
    nm=0;
    l=length(a{i-1});
    for j=1:l
        md=a{i-1}{j};
        [c, ia, ib] = intersect(md, b);
        mx=max(ib);
        if mx<m
            for k=mx+1:m
                nm=nm+1;
                a{i}{nm}=union(md,b(k));
            end
        end
    end
end
%由前半生成后半
%如b中含有m个元素,则其m-i项子集为  b减 i项子集
for i=n+1:m-1
    for j=1:length(a{m-i})
        a{i}{j}=setsub(b,a{m-i}{j});
    end
end

⌨️ 快捷键说明

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