其他分享
首页 > 其他分享> > 关联规则ASSOCIATION RULE

关联规则ASSOCIATION RULE

作者:互联网

目录

关联规则

衡量指标

关联规则挖掘子任务

先验演算法APRIORI

两个原则:

频繁项集的计算:

频繁模式增长法Frequent Pattern-growth

1. 建立FP-tree

2. 挖掘FP-tree


关联规则

关联规则又称购物篮分析,指从看似相关却又不相同的交易记录中找出潜在有用的关联规则。

衡量指标

关联规则挖掘子任务

先验演算法APRIORI

两个原则:

频繁项集的计算:

如图所示,设min sup=3,求出最长的频繁项目集。

  1. 将上图的交易信息转化为二元资料表

    二元资料表

    A蛋糕

    B奶茶

    C可乐

    D饼干

    E巧克力

    1

    0

    1

    1

    1

    1

    2

    0

    1

    1

    1

    0

    3

    1

    1

    0

    1

    0

    4

    1

    1

    1

    1

    1

    5

    1

    1

    1

    0

    0

    6

    0

    1

    0

    0

    1

  2. 统计出每个项目item出现的频次,并删除频次小于min sup的项目

    B奶茶

    C可乐

    D饼干

    A蛋糕

    E巧克力

    6

    4

    4

    3

    3

  3. 将上个步骤保留下来的项目组成集合,求每个项目集的出现频次,并删除频次小于min sup的项目集

    BC

    BD

    BA

    BE

    CD

    CA

    CE

    DA

    DE

    AE

    4

    4

    3

    3

    3

    2

    2

    2

    2

    1

  4. 重复上个步骤,直到求出最长的频繁项目集

    BCD

    BCA

    BCE

    BDA

    BDE

    BAE

    BACD

    BECD

    3

    2

    2

    2

    2

    1

    1

    2

综上所述,最长的频繁项目集为BCD。

频繁模式增长法Frequent Pattern-growth

目前最有效率的关联规则算法。将数据库内的频繁项目集压缩到一颗频繁模式树(FP-tree)之中,保留项目集之间的重要关联信息。此方法不需要大量的候选项目集,可大幅减少运算时间,并且只需要扫描资料库2次。

1. 建立FP-tree

min_sup:最小支持度,门槛值,

step1:统计所有项目item出现的次数,并删除次数小于min_sup的项目,然后降序排序(次数);

step2:根据上一步排序后的项目表,依序读取每一条资料,同时建立FT-tree;

FP-tree建立过程如下所示:

某超市之事物数据库(min sup=2)
交易记录商品交易项目
1

A,B

2B,C,D
3A,C,D,E
4        A,D,E
5A,B,C
6A,B,C,D
7A
8A,B,C
9A,B,D
10B,C,E
  1. 统计项目频次
    项目ABCDE
    频次87653
  2. 删除次数小于min sup=2的项目,并降序排列
    项目ABCDE
    频次87653
  3. 根据上一步排序后的项目表,依序读取每一条资料,同时建立FP-tree

2. 挖掘FP-tree

step1:根据上一步建立的FP-tree,分别以结点E、D、C、B、A作为结尾来挖掘;

step2:以step1选定的结点为条件,其余结点为结尾,分别进行挖掘;

重新设定路径数字:指从tree的叶子结点(频次不变)到NULL结点,逐一更新路径上结点的频次。

FP-tree挖掘过程如下所示:

  1. E作为结尾来挖掘,并重新设定路径数字
  2. 删除频次小于min sup的项目,更新tree
  3. {D,E}表示以E为条件下、D结尾,并重新设定路径数字
  4. 删除频次小于min sup的项目,更新tree
  5. {A,D}表示以D为条件下、A结尾                     
  6. {C,E}表示以E为条件下、C结尾,并重新设定路径数字
  7. 删除频次小于min sup的项目,更新tree
  8. {A,E}表示以E为条件下、A结尾,并重新设定路径数字

E为结尾的挖掘结果:

一阶二阶三阶
EDA
EC
EA

 以E为结尾的高频项目集:{E}、{D,E}、{C,E}、{A,E}、{A,D,E}。

同理:

  1. D作为结尾来挖掘,并重新设定路径数字
  2. {C,D}表示以D为条件下、C结尾,并重新设定路径数字
  3. {B,C}表示以C为条件下、B结尾,并重新设定路径数字
  4. 删除频次小于min sup的项目,更新tree
  5. {A,C}表示以C为条件下、A结尾,并重新设定路径数字(由于树中只有A,所以A仍然是2)
  6. {B,D}表示以D为条件下、B结尾,并重新设定路径数字
  7. {A,B}表示以B为条件下、A结尾,并重新设定路径数字(由于树中只有A,所以A仍然是2)
  8. {A,D}表示以D为条件下、A结尾,并重新设定路径数字(由于树中只有A,所以A仍然是4) 

D为结尾的挖掘结果:

一阶二阶三阶
DCB
DCA
DB

A

DA

 以D为结尾的高频项目集:{D}、{D,C}、{D,B}、{D,A}、{D,C,B}、{D,C,A}、{D,B,A}。

同理:

  1. C作为结尾来挖掘,并重新设定路径数字
  2. {B,C}表示以C为条件下、B结尾,并重新设定路径数字
  3. {A,B}表示以B为条件下、A结尾,并重新设定路径数字(由于树中只有A,所以A仍然是3)
  4. {A,C}表示以C为条件下、A结尾,并重新设定路径数字(由于树中只有A,所以A仍然是4)

C为结尾的挖掘结果:

一阶二阶三阶
CBA
CA

 以C为结尾的高频项目集:{C}、{C,B}、{C,A}、{C,B,A}。

同理:

  1. B作为结尾来挖掘,并重新设定路径数字
  2. {A,B}表示以B为条件下、A结尾,并重新设定路径数字(由于树中只有A,所以A仍然是5)

B为结尾的挖掘结果:

一阶二阶三阶
BA

 以B为结尾的高频项目集:{B}、{B,A}。

同理:

  1. A作为结尾来挖掘,并重新设定路径数字(由于树中只有A,所以A仍然是8)

A为结尾的挖掘结果:

一阶二阶三阶
A

 以A为结尾的高频项目集:{A}。

标签:设定,结尾,min,路径,tree,RULE,关联,频次,ASSOCIATION
来源: https://blog.csdn.net/weixin_51032998/article/details/121004435