标签:指标 art 数据 区别 水平 article 选项 log 存储
关联算法重要定理:频繁项集的所有非空子集也都必须是频繁的。
比如(A,B,C)是频繁项集,那(A,B)肯定也是频繁项集。如果(A,B)不是频繁项集,那(A,B,C)肯定也不是频繁项集。
Support(A,B)=A、B两件商品同时出现的次数 / 总购物车次数。
分母N是固定的,所以很多文章都用分子frq(X,Y)取名"支持计数"来比较支持度小大。
支持度不小于用户设定的最小支持度阀值的项集,称为频繁项集。
Life(A,B)=Support(A,B)/(Support(A)*Support(B))有A的情况下有B的概率/有B的概率。
大于1说明正相关、提高购买概率。小于1说明负相关、降低购买概率。等于1说明互不影响。
比如总共100条购物记录,A出现的次数是30次,B出现的次数是50次,AB同时出现的次数是10次,那么:
Life(A->B)=Life(B->A)=Life(A,B)=(10/100) / (30/100)*(50/100)=2/3。
对购物车中已经包含商品A/B的用户推荐商品B/A,其购买概率(10/30)是单独购买B/A概率(50/100)的2/3倍。
比如对购买雨衣的用户推荐雨伞,比对未购买雨衣的用户推荐雨伞的收益小。这个关联是无效的、反向的。
Confidence(A->B)=Support(A,B)/Support(A)。即购买A后也会购物B的概率。
Confidence(A->B)<>Confidence(B->A),如果Confidence(A->B)更大,表示对已购买A的推荐B的成功率更高。
总购物记录条数是K,A的出现次数是N1,B的出现次数是N2,A、B的出现次数是M,那么:
假设用户设定的最小支持度阀值=J/K,Support(A,B)=M/K,如果M>J,那么(A,B)是频繁项集。
Life(A,B)=Support(A,B)/(Support(A)*Support(B))=(M/K)/((N1/K)*(N2/K))=(M*K)/(N1*N2)。
首先设定最小支持计数为2,最小支持度为2/5=40%。
第1步:扫瞄所有的事务,统计每件商品的出现次数,产生候选1-项集的集合C1
第2步:将C1中支持计数不小于最小支持计数2的候选1-项集选出,产生频繁1-项集的集合L1
第3步:利用自身连接L1 X L1产生候选2-项集的集合C2,扫瞄所有事务,统计C2中每个候选项集的支持计数
第4步:通过比较,将C2中支持计数不小于最小支持计数2的候选2-项集选出,产生频繁2-项集的集合L2
第5步:利用自身连接L2 X L2,产生候选3-项集的集合C3,重复上述过程,直至产生的候选项集不满足Apriori定理。此处由于候选3-项集为空, 频繁2-项集为最终结果。
举个例子理解为什么候选3-项集为空:比如说L2 X L2得到其中的一个3 -项集是{啤酒,尿布,牛奶},Apriori定理说频繁项集的所有非空子集也都必须是频繁的,{啤酒,尿布,牛奶}包括三个子集{啤酒,尿布},{啤酒,牛奶},{尿布,牛奶},其中{啤酒,尿布},{啤酒,牛奶}是频繁的,因为它们都出现在了L2中,但是{尿布,牛奶}不是频繁的,因此3 -项集是{啤酒,尿布,牛奶}不满足Apriori定理,其余理解类似。
标签:指标 art 数据 区别 水平 article 选项 log 存储
原文地址:https://www.cnblogs.com/myshuzhimei/p/11743642.html