APRIORI算法
频繁项集
APRIORI算法通过迭代来计算数据库中频繁项集,第i次迭代计算所有频繁i项集
支持度:DB中含有s%的事务包含候选集
例
id | 项 |
---|---|
1 | ACD |
2 | BCE |
3 | ABCE |
4 | BE |
第一次得到
项集 | 计数 | 支持度 |
---|---|---|
A | 2 | 50% |
C | 3 | 75% |
D | 1 | 25% |
B | 3 | 75% |
若取支持度为50%,则剩ACB
第二次迭代
得到
项集 | 计数 | 支持度 |
---|---|---|
AC | 2 | 50% |
BC | 2 | 50% |
BE | 3 | 75% |
CE | 2 | 50% |
注:第三次迭代时,得到
项集 | 计数 | 支持度 |
---|---|---|
BCE | 2 | 50% |
可以认为第三次迭代结果中任一两项的结合在第二次迭代中
负边界:在候选集中由于支持度不够而被淘汰的候选集合,而不是在第i次迭代到第i+1次迭代中被淘汰的候选项集
从频繁项集得到关联规则
如果规则为{x1,x2,x3}->x4,那么项集{x1,x2,x3,x4}和{x1,x2,x3}都必须是频繁的,
规则置信度为c=s(x1,x2,x3,x4)/s(x1,x2,x3),置信度大于给定阈值的规则就是强关联规则
有必要系统地分析可以从频繁项集中得到所有关联规则
,并且选择那些置信度大于给定阈值的关联规则作为强关联规则
测得关联规则正确方法:A->B
s(A,B)-s(A) * s(B)>k k为适当常量