已知强关联规则如下表所示
TIDItems0a,b1c,d2a,c,d,e3a,d,e4a,b,c5a,b,c,d假设置信度为70%,支持度为50%
则最小支持度为:50%*6(6为集数个数)=3(表示Items中的元素满足≥3才为频繁项集)
FP-growth构造FP-tree时需要进行两次处理:
首先进行分类,求出F-list
我们先看表格,遍历一次数据集,统计每个元素出现的次数
a:5(出现5次)
b:3
c:4
d:4
e:2
然后把出现次数较小的滤掉(最小支持度3,将出现次数小于3的元素滤除)
再进行排序,将频率高的放于首位
F-list(a:5),(c:4),(d:4),(b:3)则新的关联规则为(去除e)并根据F-list排序
TIDItems0a,b1c,d2a,c,d3a,d4a,c,b5a,c,d,b开始构造FP-tree,对0项集{a,b}进行处理,元素首次出现,需要将头结点赋予它。 再对1项集{c,d}处理,c为新元素出现,创建新的分支。并将头结点赋予新节点。 再对2项集{a,c,d}处理,a已经出现,则a的次数加一,再对a进行分支。 再对3项集{a,d}处理 再对4项集{a,c,b}处理 再对5项集{a,c,d,b}处理 最后,从b、d、c、a元素的顺序找相同元素出现在哪?连接同一元素
连接b
连接d
连接c: 连接a:a只有一个,不需要添加连线
最终连线:
频繁项集:
(先找二元项集)
第一步:从底往上看 b出现一次,a出现5次,b不满足最小支持度,则不构成频繁项集。 第二个分支: b出现1次,d出现2次,都不满足最小支持度,也不构成频繁项集。
d出现2次,c出现3次,d不满足最小支持度,不为频繁项集。 。 。 。 c出现3次,a出现5次,都满足最小支持度,则{a,c}为频繁项集。 其他分支依次类推。
第二步:从整棵树从下望上找 {a,b}:
{a,b}从整棵树中找,发现有三条路径,满足最小支持度,则{a,b}属于频繁项集。
{b,d}:
{b,d}从整棵树找,发现出现的次数为1,不满足最小支持度。
{b,c}:
{b,c}从整棵树找在红色分支出现1次,在橙色分支出现一次,不满足最小支持度,则{b,c}不是频繁项集。
{c,d}:
{c,d}从整棵树找在红色分支出现2次,在橙色分支出现1次,满足最小支持度,则{c,d}是频繁项集。
{a,d}: {a,d}从整棵树找,我们发现其中红色分支出现2次,橙色分支出现一次,满足最小支持度3,则{a,d}为频繁项集。 {a,c}已经在第一步证明为频繁项集。
依次类推找三元项集
从底往上找{b,c,d}:
从分支中找{b,c,d},发现不满足最小支持度…(依次类推)
从整棵树找:找{a,b,c,d}的组合方式:{a,b,c}、{a,b,d}、{a,c,d}、{b,c,d}。发现并没有满足条件的项集
则这棵树不存在三元频繁项集
依次类推找四元频繁项集(三元都不存在,更何况四元,无意义)
综上所述
频繁项集为
频繁项集{a,b}、{a,c} 、{a,d}、{c,d}