所谓支持度,就是比如说10个用户购买商品,有8个用户购买商品A,那么商品A的支持度就是80%。支持度越大,关联规则越重要,因为支持度大代表买的人多呀。 这里的商品A可以是一件商品,也可以是几个商品组成的集合。小于最小支持度的A会在算法过程中被淘汰掉。
这个概念学过概率论就比较好理解,简单地说是购买商品A的人,会有多大概率去购买商品B,即p(B|A) =p(AB)/p(A)
即商品A的出现对商品B的出现概率提升的程度,这里有个公式计算,提升度(A->B)= 置信度(A->B)/支持度(B),用概率论表示即是提升度=(p(AB)/p(A)) / p(B),提升度大于1时,则推荐,小于1时,则不推荐
项:数据库中不可分割的最小单位信息
项集:项的集合,集合I={i1, i2, …, ik}是项集,I中项目的个数为k,则集合I称为k项集。支持度大于最小支持度的项集即为频繁项集,否则为非频繁项集。
事务:设I={i1, i2, …, ik}是由数据库中所有项目构成的集合,一次处理所含项目的集合用T表示,T={t1, t2, …, tn}。每一个包含ti子项的项集都是I子集。
例如,顾客一次购买多种商品,这些购物信息在数据库中有唯一标识,用来标识这些商品是同一顾客同一次购买的,称
该用户的本次购物活动对应一个事务。
apriori算法有两个重要性质
1.频繁项集的所有非空子集必为频繁项集。 如项集{1,2,3}是频繁的 则项集{1,2}肯定是频繁的
2.非频繁项集的超集⼀定是⾮频繁的。 如项集{2,3,4}是非频繁的 则项集{1,2,3,4}肯定是非频繁的
然后是apriori算发的实现逻辑:其中C表是扫描出来的候选表,L是经过最小支持度过滤后的频繁集表。这里最小支持度设置为0.2.
同理 三项集合并成四项集时,会将三项集中前两个元素相同的集合进行匹配。
因篇幅问题不能全部显示,请点此查看更多更全内容