apriori是什么意思?
的有关信息介绍如下:
首先重申一下Apriori算法的两个条件,频繁意思就是计数大于自定义支持度阈值:
任何频繁项集的非空子集都是频繁的;
任何非频繁项集的超集都是非频繁的;
1.输入:T-交易集,ϵ-自定义支持度阈值;
2.L1是一项频繁项集,large1-itemsets具体是指交易集里所有数量大于ϵ的项的集合,是数字1,是分隔符,itemsets是对T里出现的所有单项交易的统计;
3.L1已初始化,意即单项频繁项集已找出,接下来要找二项频繁项集,故k初始化为2;
4.注意在while循环中,Lk-1是从L1开始的(因为k被初始化为2),L1不是空集,之后如你所说k<-k+1,逐次累加找到包含项数更多的关联规则,Lk中存储的就是关联规则,关联规则的形式是k-项集;
5.在此Ck可以理解为存储关联规则的中间变量,里面存储的是k-项集的所有可能,但未经筛选,不一定所有的k项集计数都大于ϵ。
{ aUb | a∈Lk-1 ∩ b∉a },a是Lk-1的某一元素(即某一k-1项集),b是一项频繁集。意思是对Lk-1里的k-1频繁项集进行扩展,但必须满足b不属于a,举个例子,a={A,B,C},b={D},此时{aUb|a∈Lk-1∩b∉a}={A,B,C,D},但如果b={B},则对{aUb|a∈Lk-1∩b∉a}不满足b∉a,所以这一步就不会执行;
{ c | {s | s⊆c ∩ |s|=k-1} ⫋ Lk-1 },c可以看作是Lk-1的补集(这样说不严谨,纯粹是为了便于题主理解),里面存储的是非频繁项集,根据条件我们知道任何非频繁项集的超集都是非频繁的,所以要减去这些项;
{ aUb | a∈Lk-1 ∩ b∉a } - { c | {s | s⊆c ∩ |s|=k-1} ⫋ Lk-1 }就是得到一个里面全是频繁项集的k-项集集合,命名为Ck。中间的是减号;
6.Ct <- {c | c∈Ck ∩ c⊆t},符号 ∩ 是取交集的意思。对于Ck中的所有k-项集,如果在T中存在(有些项集由算法组合生成,实际数据集T中未必存在),则将这些项集放到一个新的容器Ct中;
7.是计算Ct中所有k-项集的频次;
8.Lk存储的是所有频繁k-项集且计数频次大于ϵ,也就是我们要得到的关联规则;
9.U Lk返回的是{L1,L2,……Lk}所有k-项集集合,k最终停止在哪个值取决于交易集T和ϵ;
不才怒答一波,其中有若干不严谨之处请多指摘,希望能帮到题主



