(10) }
(11) return L= ∪ k L k ; // 合并频繁 k-项集( k>0)
算法在根据频繁 k-1 项集生成频繁 K 项集过程中要计算频繁 K 项集中每个
元素的支持度,并计算 K 项集中每个 k-1 项子集是否在 F k-1 中,上述两条任何
一
条不满足,则删去这个 K 项集中的元素。
2 、实验过程
1、打开试验用数据,读取出同一流水号的商品 ID 并取前 5 位,生成以行为
单位生成事务数据集 transitions;
2、ind_frequent_1-itemsets 生成频繁一项集
for(each transaction in transitions){
for(each item in transaction){
oneItemSet;
oneItemSet.count++;// 对 1 项集进行计数
}
}
3、apriori-gen (L k-1 ) 候选集产生算法
For all itemset p∈Lk-1 do
For all itemset q∈Lk-1 do
If p.item1=q.item1, p.item2=q.item2, …,p.itemk-2=q.itemk-2,
p.item k-1 !=q.item k-1
then
begin c=p∞q//p 、q 合并后任意的 L k-1 子集
if has_infrequent_subset(c, L k-1 )
then delete c // 存在 c 不属于 L k-1 剪枝
else add c to Ck
End
Return Ck
4、has_infrequent_subset(c, L k-1 )判断候选集的元素
For all (k-1)-subsets of c do
If Not(S∈Lk-1) THEN return TRUE;
Return FALSE;
1. 流程图
评论0
最新资源