Apriori算法

Apriori算法是最常用的数据关联规则挖掘算法,用于频繁项挖掘。

概念

支持度(Support)即A和B同时发生的概率,Support(X,Y)= P(XY)=num(XY)/num(all)

置信度(Confidence)即发生A的情况下B发生的概率,confidence(X<-Y)=P(X|Y)=P(XY)/P(Y)

频繁项集表示的就是在数据集中频繁出现的项集(可以是一个,也可以是多个)。如果事件A中包含k个元素,那么称这个事件A为k项集,并且事件A满足最小支持度阈值的事件称为频繁k项集。

Apriori算法的目标是找到最大的K项频繁集。

avatar

具体算法如上,先统计出所有项目的support,去掉最低,求剩下所有二项组合的support,去掉最低,求剩下所有三项组合的support,直到无法求出k+1项为止。

生成关联规则:

1.关于每个频繁项集L,生成所有非空子集,
2.对每个非空子集x,计算其置信度:Confidence(x)>= min confidence,那么x->(L-x)成立
confidence(A->B)=P(B|A)=support(A∪B)/support(A)

avatar

改进方案是FP-growth算法,快一个数量级

dark
sans