1、Apriori 算法例子 1 Apriori 介绍Apriori 算法使用频繁项集的先验知识,使用一种称作逐层搜索的迭代方法,k 项集用于探索(k+1)项集。首先,通过扫描事务(交易)记录,找出所有的频繁 1 项集,该集合记做 L1,然后利用 L1找频繁 2 项集的集合 L2,L 2找 L3,如此下去,直到不能再找到任何频繁 k 项集。最后再在所有的频繁集中找出强规则,即产生用户感兴趣的关联规则。其中,Apriori 算法具有这样一条性质:任一频繁项集的所有非空子集也必须是频繁的。因为假如 P(I)=min_supReturn L=所有的频繁集;Procedure apriori_gen(Lk
2、-1:frequent(k-1)-itemsets)For each 项集 l1属于 Lk-1For each 项集 l 2属于 Lk-1If(l11=l21)&( l12=l22)& (l1k-2=l2k-2)&(l1k-1B)=P(B|A)=support_count(AB)/support_count(A)关联规则产生步骤如下:1) 对于每个频繁项集 l,产生其所有非空真子集;2) 对于每个非空真子集 s,如果 support_count(l)/support_count(s)=min_conf,则输出 s-(l-s),其中,min_conf 是最小置信度阈值。例如,在上述例子中,针对频繁集I1,I2,I5。可以产生哪些关联规则?该频繁集的非空真子集有I1,I2,I1,I5,I2,I5,I1 ,I2和I5,对应置信度如下:I1&I2-I5 confidence=2/4=50%I1&I5-I2 confidence=2/2=100%I2&I5-I1 confidence=2/2=100%I1 -I2&I5 confidence=2/6=33%I2 -I1&I5 confidence=2/7=29%I5 -I1&I2 confidence=2/2=100%如果 min_conf=70%,则强规则有 I1&I5-I2,I2&I5-I1,I5 -I1&I2。