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项频繁集。
具体算法如上,先统计出所有项目的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)
改进方案是FP-growth算法,快一个数量级