本博客不再更新,更多精彩内容请访问我的独立博客
Apriori算法
Apriori算法步骤:
1.Apriori算法:使用候选项集找频繁项集
2.由频繁项集产生关联规则
例:设A=足球服,B=足球鞋, C=足球。某网上商城的销售情况如下:
客户号 | 客户 | 商品 | 数量 |
C1 | 李鸣 | 足球服A | 10 |
C1 | 李鸣 | 足球鞋B | 8 |
C1 | 李鸣 | 足球C | 60 |
C2 | 金珊 | 足球C | 20 |
C3 | 冯君 | 足球服A | 50 |
C3 | 冯君 | 足球鞋B | 60 |
C4 | 丁贝 | 足球鞋B | 20 |
C5 | 陈骋 | 足球服A | 30 |
基本概念
支持度 : 设W 中有s %的事务同时支持物品集A 和B,s %称为关联规则A→B 的支持度。
例如:A的支持度=60% A→B 的支持度 = 40%
Apriori算法:找频繁项集:
1、在第一轮循环中,所有1项目(只有1项)集是候选项目集,从中筛选出
支持度>最小支持度的项目放入频繁项目集
2、在第二轮循环中,只有频繁1项目组成的2项目才是候选项目,从中筛选出
支持度>最小支持度的2项目放入频繁项目集。
3、继续循环,直至n轮循环,所有的频繁项目选出,频繁项目集形成。
支持度>最小支持度的项目放入频繁项目集
2、在第二轮循环中,只有频繁1项目组成的2项目才是候选项目,从中筛选出
支持度>最小支持度的2项目放入频繁项目集。
3、继续循环,直至n轮循环,所有的频繁项目选出,频繁项目集形成。
设最小支持度为30%
(1)1项目候选项:A 、 B 、 C
支持度: 60% 60% 40%
所以频繁项目集: 进入下一轮单项:
{A 、B、C} {A 、B、C}
(1)1项目候选项:A 、 B 、 C
支持度: 60% 60% 40%
所以频繁项目集: 进入下一轮单项:
{A 、B、C} {A 、B、C}
(2)2项目候选项:AB 、BC、AC
支持度:40% 20% 20%
所以频繁项目集: 进入下一轮单项:
{A 、B、C、AB} {A, B}
支持度:40% 20% 20%
所以频繁项目集: 进入下一轮单项:
{A 、B、C、AB} {A, B}
(3)3项目候选项:无
算法终止
所以频繁项目集:
{A 、B、C、AB}
算法终止
所以频繁项目集:
{A 、B、C、AB}
由频繁项集产生关联规则
频繁项目 | 支持度 | 频繁项目 | 支持度 |
A | 60% | C | 40% |
B | 60% | A和B | 40 |
可信度:它是针对规则而言的。指在出现了物品集A 的事务T 中,物品集B 也同时出现的概率有多大。
可信度=p(condition and result)/p(condition)
可信度=p(condition and result)/p(condition)
兴趣度:物品集A 的出现对物品集B 的出现有多大的影响。
兴趣度=p(condition and result)/p(condition)*p(result)。
——当兴趣度大于1的时候,这条规则就是比较好的;
——当兴趣度小于1的时候,这条规则就是没有很大意义的。
兴趣度=p(condition and result)/p(condition)*p(result)。
——当兴趣度大于1的时候,这条规则就是比较好的;
——当兴趣度小于1的时候,这条规则就是没有很大意义的。
例: 规则1:if A THEN B , 可信度?
可信度= (A和B)/ A = 40% / 60% = 67%
可信度= (A和B)/ A = 40% / 60% = 67%
规则2:if A THEN C , 可信度?
可信度= (A和C)/ A = 20% / 60% = 33%
可信度= (A和C)/ A = 20% / 60% = 33%
规则3:if A THEN B , 兴趣度?
兴趣度= (A和B)/ (A*B) = 40% / (60% * 60%)= 1.11 > 1 有意义
兴趣度= (A和B)/ (A*B) = 40% / (60% * 60%)= 1.11 > 1 有意义
规则4:if A THEN C , 兴趣度?
兴趣度= (A和C)/ (A*C) = 20% / (60% * 40%)= 0.83 < 1
兴趣度= (A和C)/ (A*C) = 20% / (60% * 40%)= 0.83 < 1