关联规则挖掘举例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
= 66.6%
规则AC满足最小支持度和最小置信 度,所以它是强关联规则
关联规则挖掘的步骤
关联规则挖掘是一个两步的过程:
找出所有频繁项集
大于或者等于最小支持度 的项集
由频繁项集产生强关联规wk.baidu.com,这些规则必须大于 或者等于最小支持度和最小置信度
Apriori算法
Apriori算法是一种经典的生成布尔型关联规则的频 繁项集挖掘算法。
C1 100
C1002

...

C 100 100
1.27 *1030
FP-growth算法
•Jiawei Han等人在2000年提出了一种基于FP-树的 关联规则挖掘算法FP_growth,它采取“分而治之” 的策略,将提供频繁项目集的数据库压缩成一棵频 繁模式树(FP-树)。
•仅两次扫描数据库。
Apriori算法举例_产生频繁项集
项集
支持度
K=1
{A}
50%
{B}
75%
C1 {C}
75%
{D}支持度<50 25%
{E}
75%
{A,C} 50%
L2
{B,C} {B,E}
50% 75%
{C,E} 50%
{A} L1 {B}
{C} {E}
50% K=2 75% 75% 75%
项集 支持度
{A,支B持}度<50 25%
总能找出符合实际的规则。
例:歌曲A、歌曲C为小众歌曲,歌曲B为口水歌,共有10万个用户,有200 个人听过歌曲A,这200个人里面有60个听过口水歌B,有40个人听过歌曲C。 听过歌曲C的人数是300,听过口水歌B的人为50000。
貌似A和B更相关
Confidence(A→B) = 0.3,Confidence(A→C) = 0.2
置信度Confidence 66.7% 66.7% 66.7% 1 66.7% 1
置信度≥50%(最小置信度), 都是强关联规则
Apriori算法弊端
➢需要多次扫描数据表
如果频繁集最多包含10个项,那么就需要扫描交易数据表10遍,这需要 很大的I/O负载
➢产生大量频繁集
若有100个项目,可能产生候选项数目
Lift(A→C)=
Confidence(AC)/Support(C)=0.2/(300/100000)=66.7 歌曲A与B负相关,A与C正相关。 Lift大于1,表示使用这条规则进行推荐能提升用户听歌曲C的 概率。 Lift小于1,则表示使用这条规则来进行推荐,还不如不推荐, 让顾客自行选择好了。
增量式关联规则挖掘算法
数据集不断增长,有新的数据加入后,重新挖掘很费时。增量式关联规则 挖掘算法是当数据库变化后,在原挖掘结果的基础上生成新的关联规则, 删除过时的关联规则。
多层关联规则挖掘 ……
关联规则的价值衡量
客观上,使用“支持度和置信度”框架可能会产生
一些不正确的规则。只凭支持度和置信度阈值未必
提升度
Lift(AB)=Confidence(AB)/Support(B)= p( AB) p( A) p(B)
引入提升度Lift,以度量此规则是否可用。它描述的是:相对 于不用规则,使用规则可以提高多少。
Lift(A→B) =Confidence(AB)/Support(B)=0.3/0.5=0.6
{A,C} 50%
C2
{A,支E持} 度<50 25% {B,C} 50%
{B,E} 75%
{C,E} 50%
Apriori算法举例_产生频繁项集
{A,C} 50%
L2
{B,C} {B,E}
50% 75%
{C,E} 50%
L3 {B,C,E} 50%
从K2中求可用来计算的的三项集 {A,C}+{B,C} {A,B,C} {A,C}+{B,E} 超过三项 {A,C}+{C,E} {A,C,E} {B,C}+{B,E} {B,C,E} {B,C}+{C,E} {B,C,E} {B,E}+{C,E} {B,C,E}
性质2:非频繁项集的超集一定是非频繁的
假设项集{D}不是频繁项集,则 {A,D}和{C,D}也不是频繁项集
Apriori算法举例
现有A、B、C、D、E五种商品的交易记录表,找出所 有 频 繁 项 集 , 假 设 最 小 支 持 度 >=50%, 最 小 置 信 度 >=50%
交易号 商品代码 T1 A、C、D T2 B、C、E T3 A、B、C、E T4 B、E
听过歌曲A的人 不喜欢歌曲B
但是10W人里面有5W听过歌曲B,有一半的用户都喜欢歌曲B, 但听过歌曲A的人里面只有30%的人喜欢歌曲 B
矛盾的规则,如何评价?
关联规则价值衡量
Confidence(A→B) = 0.3 Confidence(A→C) = 0.2 Support(B)=0.5 Support(C)=300/100000
Apriori算法将发现关联规则的过程分为两个步骤: 通过迭代,检索出事务数据库中的所有频繁项集,
即支持度不低于用户设定的阈值的项集; 利用频繁项集构造出满足用户最小置信度的规则。
挖掘或识别出所有频繁项集是该算法的核心,占整 个计算量的大部分。
Apriori算法的重要性质 假 设 项 集 {A,C} 是 频 繁 项 集 , 则 {A}和{C}也为频繁项集 性质1:频繁项集的子集必为频繁项集
理论和实验表明该算法优于Apriori算法。
FP-growth算法
其他关联规则挖掘算法
约束性关联规则挖掘算法
仅设置支持度和置信度阈值,缺乏用户控制,可能产生过多的规则,实际 效果可能并不好。用户关心的是某些特定的关联规则,这需要把一些约束 条件引入到挖掘算法中,从而筛选出符合约束条件的有用规则,提高算法 的运行效率和用户满意度。
{A,B支,持C}度<50 25%
C3
{A,支C,持E}度<50 25%
{B,C,E} 50%
Apriori算法举例_产生关联规则
• 对于频繁项集{B,C,E},它的非空子集有{B}、{C}、{E}、{B,C}、{B,E}、 {C,E}。以下就是据此获得的关联规则及其置信度。
规则 BCE CBE EBC CEB BEC BCE
关联规则挖掘举例 假设最小值支持度为50% ,最小置信度为50%
交易ID 2000 1000 4000 5000
购买商品 A,B,C A,C A,D B,E,F
频繁项集 {A} {B} {C} {A,C}
支持度 75% 50% 50% 50%
对于规则 AC: 支持度 = support({A,C }) = 50% 置信度 = support({A,C })/support({A})
相关文档
最新文档