数据挖掘导论:从包含d个项的数据集提取的可能规则总数

在数据挖掘导论(完整版)一书中的第6章讲到了关联分析,并在6.1问题定义中提到了关联规则。
其中第203页中直接给出了公式(6-3):从包含d个项的数据集提取的可能规则总数为 R=3d2d+1+1 ,并要求自己证明,同时也是第251页的习题5。

该公式的证明过程用到了排列组合的知识,现在把我的证明过程和大家分享一下。

证明:
对于关联规则 X→Y ( 其中X∩Y= ),X∪Y包含的项的个数可以为2,3,…,d。
假设X∪Y包含的项的个数为k,则计算此情况下可能规则数,须先从d个项中抽取k个项,即 Ckd ;再对选出的k个项选取m(m=1,2,3,…,k-1)个项作为规则的左部X,剩余k-m个项作为规则的右部Y,选法的种类数共有 C1k+C2k+C3k++Ck1k ,即 k1m=1Cmk

下面来求 k1m=1Cmk 的值。首先我们知道 km=0Cmk=(1+1)k=2k

k1m=1Cmk=km=0CmkC0kCkk=2k2

因此,对于X∪Y包含的项的个数为k时,可能的规则数为 Ckd.(2k2)

由此可得,
当X∪Y包含的项的个数为2时,可能的规则数为 R2=C2d.C12=C2d.(222)

当X∪Y包含的项的个数为3时,可能的规则数为 R3=C3d.C13+C23)=C3d.(232)

当X∪Y包含的项的个数为4时,可能的规则数为 R4=C4d.C14+C24+C34)=C4d.(242)

……

当X∪Y包含的项的个数为d时,可能的规则数为 Rd=Cdd.C14+C24+C34)=Cdd.(2d2)

将上面的可能规则数加起来即可得到可能的规则总数,为

R=R2+R3+R4++Rd=C2d.(222)+C3d.(232)+C4d.(242)++Cdd.(2d2)=k=2dCkd(2k2)=k=2dCkd2k2k=2dCkd

dk=2Ckd=dk=0CkdC0dC1d=2d1d

dk=2Ckd2k=dk=0Ckd2kC0d.20C1d.21

我们知道 dk=0Ckd2k=(2+1)d=3d ,则 dk=2Ckd2k=3d12d

因此,

R=k=2dCkd2k2k=2dCkd=(3d12d)2(2d1d)=3d2d+1+1

至此,证明得到了正确的结果。

你可能感兴趣的:(数据挖掘,关联规则,关联分析)