SlideShare uma empresa Scribd logo
1 de 80
关联规则频繁模式挖掘

一、数据挖掘概述
二、大型数据库中关联规则挖掘
二、大型数据库中的关联规则挖掘

      关联规则挖掘
      事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算
       法
      挖掘各种关联 / 相关规则
      基于限制的关联挖掘 -
      顺序模式挖掘
      频繁模式挖掘的应用 / 扩展
      小结

03/27/12             Data Mining     2
什么是关联规则挖掘 ?
      关联规则挖掘 :
              发现事务数据库 , 关系数据 , 或其它信息库中项或数据对象集
               合间的频繁模式 , 关联 , 相关 , 或因果关系结构 .
              频繁模式 : 在数据库中频繁出现的模式 ( 项集 , 序列 , 等 )
      动机 : 发现数据中的规律性
              哪些产品更经常一起购买 ? — 啤酒 和 尿布 ?!
              购买了 PC 后 , 哪些将相继购买 ?
              什么类型的 DNA 对新药敏感 ?
              我们能自动地对 Web 稳当分类吗 ?




03/27/12                     Data Mining             3
为什么频繁模式挖掘是数据挖
           掘的基本任务 ?
      许多基本的数据挖掘任务的基础
              关联 , 相关 , 因果关系
              序列模式 , 时间或周期关联 , 局部周期性 , 空间和多媒体关联
              关联分类 , 聚类分析 , 冰山方 , fascicles ( 语义数据压缩 )
      广泛的应用
              购物篮数据分析 , 分类设计 , 销售活动分析
              Web 日志 ( 点击流 ) 分析 , DNA 序列分析 , 等 .




03/27/12                         Data Mining              4
基本概念 : 频繁模式和关联规
           则
                                          Itemset X={x1, …, xk}
   Transaction-id     Items bought        找出满足最先小支持度和置信度
           10           A, B, C
                                           的所有规则 X Y
           20            A, C                 支持度 , s, 事务包含         X∪Y 的
           30            A, D                   概率
           40           B, E, F                support(X Y ) =P(X∪Y )
                顾客购       顾客购买                置信度 , c, 包含       X 事务同时
                买二者        尿布                   也包含 Y 的条件概率 . (百
                                                分比)
                                              confidence(X Y )=P(Y|X)
                                                min_support = 50%,
                                          设  频繁模式 , 满足最小支持度的
                                          min_conf = 50%:
                                                模式。
    顾客购买
                                              A  C (50%, 66.7%)
     啤酒
                                              C  A (50%, 100%)
03/27/12                             Data Mining                             5
挖掘关联规则—一个例子

  Transaction-id   Items bought
                                          最小支持度 50%
                                          最小置信度 50%
           10        A, B, C
           20         A, C                      Frequent pattern   Support
           30         A, D                           {A}            75%
           40        B, E, F                          {B}           50%
                                                      {C}           50%
                                                    {A, C}          50%
  规则 A ⇒ C:
    支持度 = support({A}∪{C}) = 50%
    置信度 = support({A}∪{C})/support({A}) = 667%



03/27/12                          Data Mining                                6
二、大型数据库中的关联规则挖掘

      关联规则挖掘
      事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算
       法
      挖掘各种关联 / 相关规则
      基于限制的关联挖掘 -
      顺序模式挖掘
      频繁模式挖掘的应用 / 扩展
      小结

03/27/12             Data Mining     7
Apriori: 一种候选产生 - 测试方
               法
          频繁项集的任何子集必须是频繁的
              如果 {A,B, C} 是频繁的 , {A, B} 也是
              每个包含 {A, B, C} 的事务 也包含 {A, B}
          Apriori 剪枝原则 :
              如果一个项集不是频繁的 , 将不产生 / 测试它的超集 !
          方法 :
              由长度为 k 的频繁项集产生长度为 (k+1) 的候选项集 , 并且
              根据 DB 测试这些候选
          性能研究表明了它的有效性和可伸缩性
          Agrawal & Srikant 1994, Mannila, et al. 1994


03/27/12                           Data Mining            8
Apriori 算法 — 一个例子
                                            Itemset        sup
                                                                                  Itemset        sup
    数据库 TDB                                   {A}              2
                                                                       L1          {A}            2
     Tid        Items               C1        {B}              3
                                                                                   {B}            3
     10         A, C, D                       {C}              3
                                                                                   {C}            3
     20         B, C, E        第 1 次扫描        {D}              1
                                                                                   {E}            3
     30     A, B, C, E                        {E}              3
     40          B, E

                                    C2   Itemset         sup
                                                                              C2            Itemset
                                         {A, B}           1
     L2     Itemset           sup        {A, C}           2        第 2 次扫描                  {A, B}
            {A, C}             2                                                            {A, C}
                                         {A, E}           1
            {B, C}             2                                                            {A, E}
                                         {B, C}           2
            {B, E}             3         {B, E}           3                                 {B, C}
            {C, E}             2         {C, E}           2                                 {B, E}
                                                                                            {C, E}


           C3      Itemset
                                    第 3 次扫描         L3          Itemset     sup
                  {B, C, E}
                                                               {B, C, E}     2

03/27/12                                       Data Mining                                             9
Apriori 算法
      算法伪代码 :
           Ck: 长度为 k 的候选项集
           Lk : 长度为 k 的频繁项集

           L1 = { 频繁项 };
           for (k = 1; Lk !=∅; k++) do begin
              Ck+1 = 由 Lk 产生的候选 ;
             for each 数据库中的事务 t do
                    增加包含在 t 中的所有候选 Ck+1 的计数
             Lk+1 = Ck+1 中满足 min_support 的候选
             end
           return ∪ k Lk;



03/27/12                           Data Mining   10
Apriori 的重要细节
      如何产生候选 ?
              步骤 1: Lk 的自连接
              步骤 2: 剪枝
      如何对候选的支持度计数 ?
      候选产生的例子
              L3={abc, abd, acd, ace, bcd}
              自连接 : L3*L3
                 abcd : 由 abc 和 abd
                 acde : 由 acd 和 ace
              剪枝 :
                 acde 被删除 , 因为   ade 不在 L3
              C4={abcd}
03/27/12                                      Data Mining   11
如何产生候选 ?
          假定 Lk-1 中的项集已排序
          步骤 1: Lk-1 自连接
           insert into Ck
           select p.item1, p.item2, …, p.itemk-1, q.itemk-1
           from Lk-1 p, Lk-1 q
           where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 = q.itemk-1
          Step 2: 剪枝
           forall itemsets c in Ck do
               forall (k-1)-subsets s of c do
                    if (s is not in Lk-1) then delete c from Ck


03/27/12                                     Data Mining                          12
如何对候选的支持度计数 ?
      为什么对候选的支持度计数是一个问题 ?
              候选的总数可能非常大
               一个事务可能包含多个候选
      方法 :
              候选项集存放在一个 hash- 树 中
              hash- 树的 叶结点 包含一个项集和计数的列表
              内部 结点 包含一个 hash 表
              子集函数 : 找出包含在一个事务中的所有候选




03/27/12                     Data Mining   13
Apriori 用 SQL 有效实现
      仅有基于纯的 SQL (SQL-92) 的方法 , 很难获得好
       的性能
      使用对象 - 关系扩展 , 如 UDFs, BLOBs, 表函数等 .
              提高一个数量级
      S. Sarawagi, S. Thomas, and R. Agrawal. Integrating
       association rule mining with relational database systems:
       Alternatives and implications. In SIGMOD’98




03/27/12                         Data Mining                       14
频繁模式挖掘的挑战
      挑战
              事务数据库的多遍扫描
              数量巨大的候选
              候选支持度计数繁重的工作量
      改进 Apriori: 基本思想
              减少事务数据库的扫描遍数
              压缩候选数量
              便于候选计数




03/27/12                    Data Mining   15
DIC(Dynamic itemset counting ): 减少扫描次数
               ABCD                                  一旦确定 A 和 D 是频繁的 , 立
                                                      即开始 AD 的计数
   ABC ABD ACD BCD                                   一旦确定 BCD 的两个长度为 2 的
                                                      子集是频繁的 , 立即开始 BCD 的
                                                      计数
 AB     AC BC          AD     BD       CD
                                                              事务
                                                                 1-itemsets
       A      B    C     D                                       2-itemsets
                                     Apriori                          …
                 {}
                                                                 1-itemsets
            Itemset lattice
                                                                  2-items
S. Brin R. Motwani, J. Ullman, and
S. Tsur. Dynamic itemset counting                                             3-items
                                        DIC
and implication rules for market
basket data. In SIGMOD’97

 03/27/12                                          Data Mining                          16
划分 : 只扫描数据库两次
     项集在 DB 中是频繁的 , 它必须至少在 DB 的一个划分
      中是频繁的
          扫描 1: 划分数据库 , 并找出局部频繁模式
          扫描 2: 求出全局频繁模式
     A. Savasere, E. Omiecinski, and S. Navathe. An efficient
      algorithm for mining association in large databases. In
      VLDB’95




03/27/12                        Data Mining                      17
频繁模式挖掘的瓶颈
     多遍数据库扫描是 昂贵的
     挖掘长模式需要很多遍扫描 , 并产生大量候选
              挖掘频繁模式 i1i2…i100
                   扫描次数 : 100
                   候选个数 : (1001) + (1002) + … + (110000) = 2100-1 = 1.27*1030 !
     瓶颈 : 候选产生 - 测试
     能够避免候选产生吗 ?




03/27/12                                      Data Mining                          18
挖掘频繁模式而不产生候选
      使用局部频繁的项 , 由短模式增长产生长模式
              “abc” 是频繁模式
              得到包含 “ abc” 的所有事务 : DB|abc
              “d” 是 DB|abc 中的局部频繁项中 abcd 是频繁模式




03/27/12                        Data Mining       19
由事务数据库构造 FP- 树
     TID    Items bought             (ordered) frequent items
     100    {f, a, c, d, g, i, m, p}         {f, c, a, m, p}
     200    {a, b, c, f, l, m, o}            {f, c, a, b, m}
     300    {b, f, h, j, o, w}               {f, b}             min_support = 3
     400    {b, c, k, s, p}                  {c, b, p}
     500    {a, f, c, e, l, p, m, n}         {f, c, a, m, p}
                                                                               {}
                                         Header Table
1. 扫描 DB 一次 , 找出频
   繁 1-itemset ( 单个项的                                                 f:4           c:1
   模式 )                                  Item frequency head
                                          f      4
2. 按频率的降序将频繁项                            c       4                 c:3      b:1     b:1
   排序 , 得到 f-list                        a       3
3. 再次扫描 DB, 构造 FP-                       b       3                a:3               p:1
   树                                     m       3
                                         p       3
                                                                m:2      b:1
                                         F-list=f-c-a-b-m-p
                                                                p:2      m:1
03/27/12                                  Data Mining                                     20
FP- 树结构的优点
      完全性
              保留频繁模式挖掘的完整信息
              不截断任何事务的长模式
      压缩性
              压缩无关信息—非频繁的项被删除
              项按频率的降序排列 : 越是频繁出现 , 越可能被共享
              绝对不比原来的数据库大 ( 不计结点链和计数字段 )
           
               对于 Connect-4 DB, 压缩率超过          100




03/27/12                         Data Mining         21
划分模式和数据库
      可以按照 f-list 将频繁模式划分成子集
              F-list=f-c-a-b-m-p
              包含 p 的模式
              包含 m 但不包含 p 的模式
              …
              包含 c 但不包含 a, b, m, p
              模式 f




03/27/12                        Data Mining   22
从 p- 条件数据库找出含 p 的模式
      从 FP- 树的频繁项头表开始
      沿着频繁项 p 的链搜索 FP- 树
      收集项 p 的所有 变换的前缀路径 形成 p 的模式基

                                      {}
  头表
                                                     条件 模式基
  Item frequency head         f:4          c:1       item   cond. pattern base
   f      4                                          c      f:3
  c       4               c:3       b:1    b:1
  a       3                                          a      fc:3
  b       3               a:3              p:1       b      fca:1, f:1, c:1
  m       3
  p       3                                          m      fca:2, fcab:1
                        m:2     b:1
                                                     p      fcam:2, cb:1
                        p:2     m:1
03/27/12                               Data Mining                               23
从条件模式基到条件 FP- 树
     对于每个条件模式基
          累计条件模式基中每个项的计数
          构造模式基中频繁项的 FP- 树


                                                       m- 条件 模式基 :
                                    {}                     fca:2, fcab:1
头表
Item frequency head         f:4          c:1                          涉及 m 的所有频
 f      4                                                     {}      繁模式
c       4               c:3       b:1    b:1
a       3                                                            m,
                                                              f:3    fm, cm, am,
b       3               a:3              p:1
m       3                                                     c:3     fcm, fam, cam,
p       3             m:2     b:1
                                                                      fcam
                      p:2     m:1                             a:3
                                                        m- 条件 FP- 树
03/27/12                                 Data Mining                               24
递归 : 挖掘每个条件 FP- 树
                                                       {}

           {}    “am” 的条件模式基 : (fc:3)                  f:3

                                                       c:3
           f:3
                                                 am- 条件 FP- 树
           c:3                                         {}
                 “cm” 的条件模式基 : (f:3)
           a:3                                         f:3
 m- 条件 FP- 树
                                                 cm- 条件 FP- 树

                                          {}

“cam” 的条件模式基 : (f:3)                      f:3
                                 cam- 条件 FP- 树

03/27/12                    Data Mining                         25
特殊情况 : FP- 树中的单个前缀路
           径
              假定 ( 条件 ) FP- 树 T 具有单个共享的前缀路径
               P
              挖掘可以分解成两步
      {}           将单个前缀路径归约成 一个结点
                   连接两部分的挖掘结果
      a1:n1
      a2:n2
                                         {}                        r1
      a3:n3

                                         a1:n1
 b1:m1         C1:k1           r1   =
                                         a2:n2
                                                       +   b1:m1        C1:k1


                                         a3:n3                 C2:k2        C3:k3
       C2:k2        C3:k3
03/27/12                                 Data Mining                                26
使用 FP- 树挖掘频繁模式
      基本思想 : 频繁模式增长
              通过模式和数据库划分递归地增长频繁模式
      方法
              对于每个频繁项 , 构造它的条件模式基 , 然后构造它的条件
               FP- 树
              在新构造的条件 FP- 树上重复这一过程
              直到结果条件 FP- 树为空 , 或者它只包含一条路径—单个
               路径将产生其子路径的所有组合 , 每个子路径是一个频繁模
               式




03/27/12                   Data Mining          27
FP- 增长的规模化
      FP- 树不能放在内存 , 怎么办 ?— 数据库投影
      数据库投影
              首先将数据库划分成一组投影 数据库
              然后对每个投影数据库构造并挖掘 FP- 树




03/27/12                   Data Mining   28
FP- 增长 vs. Apriori: 随支持度增长的可伸
     缩性


                            100             Data set T25I20D10K
                            90                                     D1 FP-grow th runtime
                                                                   D1 Apriori runtime
                            80
           Run time(sec.)




                            70

                            60

                            50

                            40

                            30

                            20

                            10

                             0
                                  0   0.5   1       1.5        2          2.5              3
                                            Support threshold(%)

03/27/12                                        Data Mining                                    29
为什么 FP- 增长是赢家 ?
      分治 :
              根据已经得到的频繁模式划分任务和数据库
              导致较小的数据库的聚焦的搜索
      其它因素
              没有候选产生 , 没有候选测试
              压缩数据库 : FP- 树结构
              不重复地扫描整个数据库
              基本操作—局部频繁项计数和建立子 FP- 树 , 没有模式搜索
               和匹配




03/27/12                         Data Mining     30
关联方法

      挖掘频繁闭项集合和最大模式
              CLOSET (DMKD’00)
      挖掘序列模式
              FreeSpan (KDD’00), PrefixSpan (ICDE’01)
      频繁模式的基于限制的挖掘
              Convertible constraints (KDD’00, ICDE’01)
      计算具有复杂度量的冰山数据方
              H-tree and H-cubing algorithm (SIGMOD’01)




03/27/12                                Data Mining        31
关联规则的可视化 : Pane Graph




03/27/12            Data Mining    32
关联规则的可视化 : Rule Graph




03/27/12           Data Mining     33
二、大型数据库中的关联规则挖掘

      关联规则挖掘
      事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算
       法
      挖掘各种关联 / 相关规则
      基于限制的关联挖掘
      顺序模式挖掘
      频繁模式挖掘的应用 / 扩展
      小结

03/27/12           Data Mining       34
挖掘各种规则或规律性

      多层 , 量化关联规则 , 相关性和因果关系 , 比率规则 ,

       序列模式 , 显露模式 , 时间关联 , 局部周期性

      关联 , 聚类 , 冰山方等 .




03/27/12                  Data Mining    35
多层关联规则
          项常常形成层次结构
          灵活的支持度设定 : 较低层中的项一般具有较低的支
           持度 .
          事务数据库可以基于维和层进行编码
          探测共享的多层挖掘
           一致的支持度                                                  递减的支持度
            层 1                         Milk                    Level 1
            min_sup = 5%
                                   [support = 10%]              min_sup = 5%


            层 2               2% Milk            Skim Milk      Level 2
            min_sup = 5%   [support = 6%]      [support = 4%]   min_sup = 3%




03/27/12                              Data Mining                              36
具有灵活的支持度限制的 ML/MD 关
               联

      为什么 ?
              现实中项的出现频率差异很大
                  购物中的钻石 , 表 , 笔
              一致的支持度 可能不是一种好的模型
      灵活的模型
              通常 , 层越低 , 维的组合越多 , 长模式越长 , 支持度越小
              一般规则应当是特指的 , 易于理解的
              特殊的项或特殊的项群可能被个别地指定 , 并具有较高的优先
               权




03/27/12                        Data Mining        37
多维关联规则
      单维规则 :
                buys(X, “milk”) ⇒ buys(X, “bread”)
      多维规则 : 维或谓词                         2
              维间关联规则 ( 不含重复谓词 )
                age(X,”19-25”) ∧ occupation(X,“student”) ⇒ buys(X,“coke”)
              混合维关联规则 ( 含重复谓词 )
                age(X,”19-25”) ∧ buys(X, “popcorn”) ⇒ buys(X, “coke”)
      分类属性
              有限个不同值 , 值之间无序
      量化属性
              数值的 , 值之间隐含次序




03/27/12                               Data Mining                          38
多层关联 : 冗余过滤
      由于项之间的 “祖先” 联系 , 有些规则可能是多余
       的.
      例
              milk ⇒ wheat bread    [support = 8%, confidence = 70%]
              2% milk ⇒ wheat bread [support = 2%, confidence = 72%]
      我们可以说第一个规则是第二个规则的祖先 .
      一个规则是冗余的 , 如果根据规则的祖先 , 其支持度
       接近于“期望”值 .



03/27/12                                  Data Mining                   39
挖掘多维关联的技术
          搜索频繁 k- 谓词集 :
             例 : {age, occupation, buys} 是一个 3- 谓词集 .
             可以按如何处理 age 对技术分类 .
           3. 使用量化属性的静态离散化
                 使用预先定义的概念分层 , 对量化属性静态地离散化 .
           4. 量化关联规则
                 根据数据的分布 , 将量化属性离散化到 “箱” .
           5. 基于距离的关联规则
                 是一种动态的离散化过程 , 它考虑数据点之间的距离 .




03/27/12                      Data Mining                40
二、大型数据库中的关联规则挖掘

      关联规则挖掘
      事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算
       法
      挖掘各种关联 / 相关规则
      基于限制的关联挖掘
      顺序模式挖掘
      频繁模式挖掘的应用 / 扩展
      小结

03/27/12           Data Mining       41
基于约束的数据挖掘
      自动地找出数据库中的所有模式 ? — 不现实 !
              模式可能太多 , 并不聚焦 !
      数据挖掘应当是一个 交互的 过程
              用户使用数据挖掘查询语言 ( 或图形用户界面 ) 指导需要挖
               掘什么
      基于约束的挖掘
              用户灵活性 : 提供挖掘的 约束
              系统优化 : 考察限制 , 寻找有效的挖掘—基于约束的挖掘




03/27/12                     Data Mining        42
数据挖掘的约束
      知识类型约束 :
              分类 , 关联 , 等 .
      数据约束 — 使用类 SQL 查询
              找出 Vancouver 2000 年 12 月份一起销售的产品对
      维 / 层约束
              关于 region, price, brand, customer category
      规则 ( 或模式 ) 约束
              小额销售 ( 价格          < $10) 触发大额销售 (sum > $200)
      兴趣度约束
              强规则 : min_support ≥ 3%, min_confidence ≥ 60%



03/27/12                                Data Mining            43
受约束的挖掘 : 挖掘查询优化问
           题
      给定频繁模式挖掘查询 , 和约束集 C, 算法应当
              可靠的 : 仅发现满足给定约束 C 的频繁模式
              完全的 : 发现满足给定约束 C 的所有频繁模式
      一种朴素的方法
              首先找出所有的频繁模式 , 然后检查它们是否满足约束
      更有效的方法 :
              分析约束的性质
              尽可能推进约束 到频繁模式的计算中 .




03/27/12                    Data Mining     44
二、大型数据库中的关联规则挖掘

      关联规则挖掘
      事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算
       法
      挖掘各种关联 / 相关规则
      基于限制的关联挖掘
      顺序模式挖掘
      频繁模式挖掘的应用 / 扩展
      小结

03/27/12           Data Mining       45
序列数据库和序列模式挖掘
      事务数据库 , 时间序列数据库 vs. 序列数据库
      频繁模式 vs. ( 频繁 ) 序列模式
      序列模式挖掘的应用
              顾客购物序列 :
                 在 3 个月内 , 先买计算机 , 然后买  CD-ROM, 再后买数
                  字照相机 .
              医疗处治 , 自然灾害 ( 例如 , 地震 ), 科学 和 工程进度 ,
               股票 和市场等 .
              电话呼叫模式 , Web 日志 点击流
              DNA 序列和基因结构




03/27/12                       Data Mining              46
什么是序列模式挖掘 ?
      给定一个序列的集合 , 找出所有的 频繁 子序列

                                一个    序列 : < (ef) (ab) (df) c b >
一个 序列数据库
   SID          sequence        一个元素可能包含一个项集
      10    <a(abc)(ac)d(cf)>   .
                                在一个元素中的项是无序的
      20    <(ad)c(bc)(ae)>
                                ,
      30    <(ef)(ab)(df)cb>      <a(bc)dc> 是 <a(abc)(ac)d(cf)>
                                我们可以用字典序列出它们
      40      <eg(af)cbc>       . 的 子序列

       给定 支持度阈值 min_sup =2, <(ab)c> 是一个 序列模式


03/27/12                        Data Mining                         47
序列模式挖掘的挑战
      大量的 可能的序列模式隐藏在数据库中
      挖掘算法应当
              可能的话 , 找出满足最小支持度阈值的模式的完全集
              高度 有效的 , 可伸缩的 , 仅涉及不多次数的数据库扫描
              可以与各种用户指定的约束结合




03/27/12                    Data Mining        48
序列模式挖掘研究
      概念引进和最初的 类 Apriori 算法
         R. Agrawal & R. Srikant. “Mining sequential patterns,” ICDE’95

      GSP— 一种基于 Apriori 的 , 有影响的算法 (IBM Almaden 开发 )
         R. Srikant & R. Agrawal. “Mining sequential patterns:

          Generalizations and performance improvements,” EDBT’96
      由序列模式到 episodes ( 类 Apriori+ 约束 )
         H. Mannila, H. Toivonen & A.I. Verkamo. “Discovery of frequent

          episodes in event sequences,” Data Mining and Knowledge
          Discovery, 1997
      挖掘具有约束的序列模式
              M.N. Garofalakis, R. Rastogi, K. Shim: SPIRIT: Sequential
               Pattern Mining with Regular Expression Constraints. VLDB 1999


03/27/12                                Data Mining                            49
序列模式的基本性质 : Apriori
     基本性质 : Apriori (Agrawal & Sirkant’94)
              如果序列 S 不是频繁的
              则 S 的任何超序列都不是频繁的
              例 , <hb> 是非频繁的 <hab> 和 <(ah)b> 也是非频繁的

      Seq. ID          Sequence
           10        <(bd)cb(ac)>     给定 支持度阈值 min_sup =2
           20       <(bf)(ce)b(fg)>
           30        <(ah)(bf)abf>
           40         <(be)(ce)d>
           50       <a(bd)bcb(ade)>




03/27/12                              Data Mining           50
GSP— 一种拓广的序列模式挖掘算
               法
      GSP (Generalized Sequential Pattern) 挖掘算法
              Agrawal 和 Srikant 提出 , EDBT’96
      方法概述
              初始 , 数据库中的每个项都是长度为 1 的候选
              for each level ( 即 , 长度为 k 的序列 ) do
                  扫描数据库对每个候选序列收集支持度计数

                  使用 Apriori , 由长度为 k 的频繁序列产生长度为 (k+1) 的

                   候选序列
              repeat until 找不到频繁序列或候选
      主要优点 : 根据 Apriori 对后选剪枝



03/27/12                            Data Mining             51
找长度为 1 的序列模式
      使用一个例子考查 GSP
      初始候选 : 所有单元素序列                               Cand   Sup
        <a>, <b>, <c>, <d>, <e>, <f>, <g>, <h>
                                                    <a>     3
      扫描数据库一次 , 对候选进行支持度计                          <b>     5
       数
                                                    <c>     4
                     min_sup =2
                                                    <d>     3
                      Seq. ID        Sequence
                        10         <(bd)cb(ac)>     <e>     3
                        20        <(bf)(ce)b(fg)>   <f>     2
                        30         <(ah)(bf)abf>
                                                    <g>     1
                        40          <(be)(ce)d>
                        50        <a(bd)bcb(ade)>
                                                    <h>     1


03/27/12                             Data Mining                 52
产生长度为 2 的候选
                                             <a>          <b>      <c>    <d>    <e>    <f>
                                      <a>   <aa>      <ab>         <ac>   <ad>   <ae>   <af>
                                      <b>   <ba>      <bb>         <bc>   <bd>   <be>   <bf>
      51 个长度为 2 的候选                   <c>   <ca>      <cb>         <cc>   <cd>   <ce>   <cf>
                                      <d>   <da>      <db>         <dc>   <dd>   <de>   <df>
                                      <e>   <ea>      <eb>         <ec>   <ed>   <ee>   <ef>
                                      <f>    <fa>     <fb>         <fc>   <fd>   <fe>   <ff>

           <a>    <b>      <c>      <d>      <e>           <f>
                                                                     不使用 Apriori 性质
   <a>           <(ab)>   <(ac)>   <(ad)>   <(ae)>        <(af)>
                                                                     ,8*8+8*7/2=92 个候选
   <b>                    <(bc)>   <(bd)>   <(be)>        <(bf)>
   <c>                             <(cd)>   <(ce)>        <(cf)>
   <d>                                      <(de)>        <(df)>          Apriori 剪裁
   <e>                                                    <(ef)>               掉
   <f>                                                                    44.57% 的候
                                                                               选
03/27/12                                    Data Mining                                        53
找出长度为 2 的序列模式
      再扫描数据库一次 , 对每个长度为 2 的候选收集支

       持度计数

      有 19 长度为 2 的候选 , 满足最小支持度阈值

      它们是长度为 2 的序列模式




03/27/12            Data Mining     54
产生长度为 3 的候选并找出长度为 3
               的模式
      产生长度为 3 的候选
              长度为 2 的序列模式自连接
                 根据     Apriori 性质
                 <ab>, <aa> 和   <ba> 都是长度为 2 的序列模式    <aba>
                  是一个长度为 3 的候选
                 <(bd)>, <bb> 和  <db> 都是长度为 2 的序列模式
                  <(bd)b> 是一个长度为 3 的候选
              产生 46 个候选
      找出长度为 3 的序列模式
              再次扫描数据库 , 收集候选的支持度计数
              46 个候选中有 19 个满足支持度计数



03/27/12                         Data Mining                   55
GSP 挖掘过程
 第 5 次扫描 : 1 个候选 . 1 长度 <(bd)cba>                候选不满足
 为 5 的序列模式                                         支持度阈值

 第 4 次扫描 : 8 个候选 . 6 个长    <abba> <(bd)bc> …                候选不在 DB 中
 度为 4 的序列模式 .
 第 3 次扫描 : 46 个候选 . 19 长   <abb> <aab> <aba> <baa> <bab> …
 度为 3 的序列模式 . 20 个候选
 第 2 DB
 不在次扫描 : 51 候选 . 19 个长
 度为 2 的序列模式 . 10 候选不       <aa> <ab> … <af> <ba> <bb> … <ff> <(ab)> … <(ef)>
 第 1 DB
 在 次扫描 : 8 候选 . 6 个长
 度为 1 的序列模式                <a> <b> <c> <d> <e> <f> <g> <h>
                                     Seq. ID         Sequence
                                       10          <(bd)cb(ac)>
                    min_sup =2         20         <(bf)(ce)b(fg)>
                                       30          <(ah)(bf)abf>
                                       40           <(be)(ce)d>
                                       50         <a(bd)bcb(ade)>

03/27/12                           Data Mining                                 56
GSP 算法
      取形如 <x> 的模式作为长度为 1 的候选
      扫描数据库 1 次 , 找出 F1, 长度为 1 的序列模式的集
       合
      令 k=1;
           while Fk is not empty do
              由 Fk 形成 Ck+1, 长度为 (k+1) 的候选的集合 ;
              如果 Ck+1 非空 , 扫描一次数据库 , 找出 Fk+1, 长度为 (k+1)
               序列模式的集合
              令 k=k+1;



03/27/12                              Data Mining          57
GSP 的瓶颈
      可能产生的候选的集合可能很大
              1,000 长度为 1 的频繁序列可以产生
                            1000 × 999
               1000 ×1000 +            = 1,499,500
                                2
                 长度为 2 的候选 !
      挖掘中多次扫描数据库
      实际挑战 : 挖掘长序列模式
              指数个数短候选
              一个长度为 100 的序列模式 需要 1030 个候选序列 !
               100
                     100  100
               ∑ i 
                      = 2 − 1 ≈ 1030
               i =1      


03/27/12                                 Data Mining   58
二、大型数据库中的关联规则挖掘

      关联规则挖掘
      事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算
       法
      挖掘各种关联 / 相关规则
      基于限制的关联挖掘
      顺序模式挖掘
      频繁模式挖掘的应用 / 扩展
      小结

03/27/12           Data Mining       59
发现 Web 使用模式
      统计分析
              对页面浏览 , 浏览时间 , 导航路径长度等描述性统计分析
               ( 频率 , 平均 , 等 ).
              定期报告 : 最频繁访问的页面 , 页面的平均浏览时间 , 未经
               授权的登入点 , 等 .
              提高系统的性能 , 加强安全性 , 支持营销决策
      数据仓库和 OLAP 技术
              多维分析 , 数据方技术 , 下钻 / 上卷
      关联规则挖掘
              频繁地同时出现的模式 / 路径 , 相关性
              行销 , Web 页面预取 , Web 重构



03/27/12                      Data Mining         60
发现 Web 使用模式 ( 续 )
      序列模式挖掘
              发现内部会话模式 , 用于趋势分析 , 改变点检测 (change
               point detection), 或相似性分析
      依赖建模
              用户浏览模型 , 用于预测
              使用隐藏的 Markov 模型 , Bayesian 信念网络 , 等 .
      分类
              找出属于同一类的用户群
      聚类
              对用户聚类 ( 具有类似的浏览模式 ) , 用于市场分割或个性
               化 Web 内容
              对页面聚类 ( 具有相关内容 ), 用于 Internet 搜索引擎和
               Web assistance providers


03/27/12                         Data Mining           61
DNA 分析和生物医学数据挖掘
    相似性搜索和 DNA 序列比较
      比较每个类频繁出现的模式   ( 例如 , 疾病和健康 )
      识别在各种疾病中起作用的基因模式

    关联分析 : 识别同时出现的基因序列
      大部分疾病不是由单个基因引发的 , 而是由一起起作用的基因

       组引发的
      关联分析可以帮助确定多半可能同时出现在目标样本中的基因

       类型
    路径分析 : 将基因与疾病的不同发展阶段相联系
      不同的基因可能在疾病的不同阶段是活跃的

      针对不同阶段 , 分别开发治疗药物

    可视化工具和遗传数据分析


03/27/12           Data Mining         62
二、大型数据库中的关联规则挖掘

      关联规则挖掘
      事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算
       法
      挖掘各种关联 / 相关规则
      基于限制的关联挖掘
      顺序模式挖掘
      频繁模式挖掘的应用 / 扩展
      小结

03/27/12           Data Mining       63
频繁模式挖掘 : 成就
      频繁模式挖掘—数据挖掘的一项重要任务
      频繁模式挖掘方法
              候选产生与测试 vs. 基于投影 ( 频繁模式增长 )
              垂直 vs. 水平格式
              各种优化方法 : 数据库划分 , 扫描压缩 , hash 树 , 选样 , 边界
               计算 , 聚类 , 等 .
      与频繁模式挖掘相关的算法 : 外延
              挖掘闭的频繁项集和最大模式 ( 例如 , MaxMiner, CLOSET,
               CHARM, 等 .)
              挖掘具有柔性支持读约束的多层 , 多维频繁模式
              挖掘优化的约束推进
              由频繁模式到相关和因果关系


03/27/12                       Data Mining                64
频繁模式挖掘 : 应用
      需要频繁模式挖掘的相关问题
        基于关联的分类

        冰山查询计算

        通过束 (fascicles) 和频繁模式压缩数据库

        挖掘序列模式        (GSP, PrefixSpan, SPADE, 等 .)
        挖掘局部周期性 , 循环关联 , 等 .

        挖掘频繁结构 , 趋势 , 等 .

      典型的应用
        购物篮分析 , Web 日志分析 , DNA 挖掘 , 等 .




03/27/12                     Data Mining               65
文献 : 频繁模式挖掘方法
      R. Agarwal, C. Aggarwal, and V. V. V. Prasad. A tree projection
       algorithm for generation of frequent itemsets. Journal of Parallel and
       Distributed Computing, 2000.
      R. Agrawal, T. Imielinski, and A. Swami. Mining association rules
       between sets of items in large databases. SIGMOD'93, 207-216,
       Washington, D.C.
      R. Agrawal and R. Srikant. Fast algorithms for mining association rules.
       VLDB'94 487-499, Santiago, Chile.
      J. Han, J. Pei, and Y. Yin: “Mining frequent patterns without candidate
       generation”. In Proc. ACM-SIGMOD’2000, pp. 1-12, Dallas, TX, May
       2000.
      H. Mannila, H. Toivonen, and A. I. Verkamo. Efficient algorithms for
       discovering association rules. KDD'94, 181-192, Seattle, WA, July 1994.

03/27/12                              Data Mining                                 66
文献 : 频繁模式挖掘方法
      A. Savasere, E. Omiecinski, and S. Navathe. An efficient algorithm for
       mining association rules in large databases. VLDB'95, 432-443, Zurich,
       Switzerland.
      C. Silverstein, S. Brin, R. Motwani, and J. Ullman. Scalable techniques
       for mining causal structures. VLDB'98, 594-605, New York, NY.
      R. Srikant and R. Agrawal. Mining generalized association rules.
       VLDB'95, 407-419, Zurich, Switzerland, Sept. 1995.
      R. Srikant and R. Agrawal. Mining quantitative association rules in
       large relational tables. SIGMOD'96, 1-12, Montreal, Canada.
      H. Toivonen. Sampling large databases for association rules. VLDB'96,
       134-145, Bombay, India, Sept. 1996.
      M.J. Zaki, S. Parthasarathy, M. Ogihara, and W. Li. New algorithms
       for fast discovery of association rules. KDD’97. August 1997.

03/27/12                              Data Mining                                67
文献 : 频繁模式挖掘 ( 性能改进
           )
      S. Brin, R. Motwani, J. D. Ullman, and S. Tsur. Dynamic itemset
       counting and implication rules for market basket analysis. SIGMOD'97,
       Tucson, Arizona, May 1997.
      D.W. Cheung, J. Han, V. Ng, and C.Y. Wong. Maintenance of
       discovered association rules in large databases: An incremental updating
       technique. ICDE'96, New Orleans, LA.
      T. Fukuda, Y. Morimoto, S. Morishita, and T. Tokuyama. Data mining
       using two-dimensional optimized association rules: Scheme, algorithms,
       and visualization. SIGMOD'96, Montreal, Canada.
      E.-H. Han, G. Karypis, and V. Kumar. Scalable parallel data mining for
       association rules. SIGMOD'97, Tucson, Arizona.
      J.S. Park, M.S. Chen, and P.S. Yu. An effective hash-based algorithm
       for mining association rules. SIGMOD'95, San Jose, CA, May 1995.

03/27/12                              Data Mining                                 68
文献 : 频繁模式挖掘 ( 性能改进
           )
      G. Piatetsky-Shapiro. Discovery, analysis, and presentation of strong
       rules. In G. Piatetsky-Shapiro and W. J. Frawley, Knowledge Discovery
       in Databases,. AAAI/MIT Press, 1991.
      J.S. Park, M.S. Chen, and P.S. Yu. An effective hash-based algorithm
       for mining association rules. SIGMOD'95, San Jose, CA.
      S. Sarawagi, S. Thomas, and R. Agrawal. Integrating association rule
       mining with relational database systems: Alternatives and implications.
       SIGMOD'98, Seattle, WA.
      K. Yoda, T. Fukuda, Y. Morimoto, S. Morishita, and T. Tokuyama.
       Computing optimized rectilinear regions for association rules. KDD'97,
       Newport Beach, CA, Aug. 1997.
      M. J. Zaki, S. Parthasarathy, M. Ogihara, and W. Li. Parallel algorithm
       for discovery of association rules. Data Mining and Knowledge
       Discovery, 1:343-374, 1997.
03/27/12                              Data Mining                                69
文献 : 频繁模式挖掘 ( 外延 )
      S. Brin, R. Motwani, and C. Silverstein. Beyond market basket:
       Generalizing association rules to correlations. SIGMOD'97, 265-276,
       Tucson, Arizona.
      J. Han and Y. Fu. Discovery of multiple-level association rules from
       large databases. VLDB'95, 420-431, Zurich, Switzerland.
      M. Klemettinen, H. Mannila, P. Ronkainen, H. Toivonen, and A.I.
       Verkamo. Finding interesting rules from large sets of discovered
       association rules. CIKM'94, 401-408, Gaithersburg, Maryland.
      F. Korn, A. Labrinidis, Y. Kotidis, and C. Faloutsos. Ratio rules: A new
       paradigm for fast, quantifiable data mining. VLDB'98, 582-593, New
       York, NY.


03/27/12                              Data Mining                                 70
文献 : 频繁模式挖掘 ( 外延 )
      B. Lent, A. Swami, and J. Widom. Clustering association rules. ICDE'97,
       220-231, Birmingham, England.
      R. Meo, G. Psaila, and S. Ceri. A new SQL-like operator for mining association
       rules. VLDB'96, 122-133, Bombay, India.
      R.J. Miller and Y. Yang. Association rules over interval data. SIGMOD'97,
       452-461, Tucson, Arizona.
      A. Savasere, E. Omiecinski, and S. Navathe. Mining for strong negative
       associations in a large database of customer transactions. ICDE'98, 494-502,
       Orlando, FL, Feb. 1998.
      D. Tsur, J. D. Ullman, S. Abitboul, C. Clifton, R. Motwani, and S. Nestorov.
       Query flocks: A generalization of association-rule mining. SIGMOD'98, 1-12,
       Seattle, Washington.
      J. Pei, A.K.H. Tung, J. Han. Fault-Tolerant Frequent Pattern Mining:
       Problems and Challenges. SIGMOD DMKD’01, Santa Barbara, CA.

03/27/12                                  Data Mining                                   71
文献 : 挖掘最大模式和闭项集
      R. J. Bayardo. Efficiently mining long patterns from databases.
       SIGMOD'98, 85-93, Seattle, Washington.
      J. Pei, J. Han, and R. Mao, "CLOSET: An Efficient Algorithm for
       Mining Frequent Closed Itemsets", Proc. 2000 ACM-SIGMOD Int.
       Workshop on Data Mining and Knowledge Discovery (DMKD'00),
       Dallas, TX, May 2000.
      N. Pasquier, Y. Bastide, R. Taouil, and L. Lakhal. Discovering frequent
       closed itemsets for association rules. ICDT'99, 398-416, Jerusalem,
       Israel, Jan. 1999.
      M. Zaki. Generating Non-Redundant Association Rules. KDD'00.
       Boston, MA. Aug. 2000
      M. Zaki. CHARM: An Efficient Algorithm for Closed Association Rule
       Mining, SIAM’02

03/27/12                              Data Mining                                72
文献 : 基于约束的频繁模式挖
           掘
      G. Grahne, L. Lakshmanan, and X. Wang. Efficient mining of
       constrained correlated sets. ICDE'00, 512-521, San Diego, CA, Feb.
       2000.
      Y. Fu and J. Han. Meta-rule-guided mining of association rules in
       relational databases. KDOOD'95, 39-46, Singapore, Dec. 1995.
      J. Han, L. V. S. Lakshmanan, and R. T. Ng, "Constraint-Based,
       Multidimensional Data Mining", COMPUTER (special issues on Data
       Mining), 32(8): 46-50, 1999.
      L. V. S. Lakshmanan, R. Ng, J. Han and A. Pang, "Optimization of
       Constrained Frequent Set Queries with 2-Variable Constraints",
       SIGMOD’99

03/27/12                              Data Mining                           73
文献 : 基于约束的频繁模式挖
           掘
      R. Ng, L.V.S. Lakshmanan, J. Han & A. Pang. “Exploratory mining
       and pruning optimizations of constrained association rules.”
       SIGMOD’98
      J. Pei, J. Han, and L. V. S. Lakshmanan, "Mining Frequent Itemsets
       with Convertible Constraints", Proc. 2001 Int. Conf. on Data
       Engineering (ICDE'01), April 2001.
      J. Pei and J. Han "Can We Push More Constraints into Frequent
       Pattern Mining?", Proc. 2000 Int. Conf. on Knowledge Discovery and
       Data Mining (KDD'00), Boston, MA, August 2000.
      R. Srikant, Q. Vu, and R. Agrawal. Mining association rules with item
       constraints. KDD'97, 67-73, Newport Beach, California.

03/27/12                              Data Mining                              74
文献 : 序列模式挖掘方法
      R. Agrawal and R. Srikant. Mining sequential patterns. ICDE'95, 3-14,
       Taipei, Taiwan.
      R. Srikant and R. Agrawal. Mining sequential patterns:
       Generalizations and performance improvements. EDBT’96.
      J. Han, J. Pei, B. Mortazavi-Asl, Q. Chen, U. Dayal, M.-C. Hsu,
       "FreeSpan: Frequent Pattern-Projected Sequential Pattern Mining",
       Proc. 2000 Int. Conf. on Knowledge Discovery and Data Mining
       (KDD'00), Boston, MA, August 2000.
      H. Mannila, H Toivonen, and A. I. Verkamo. Discovery of frequent
       episodes in event sequences. Data Mining and Knowledge Discovery,
       1:259-289, 1997.


03/27/12                             Data Mining                               75
文献 : 序列模式挖掘方法
      J. Pei, J. Han, H. Pinto, Q. Chen, U. Dayal, and M.-C. Hsu,
       "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-
       Projected Pattern Growth", Proc. 2001 Int. Conf. on Data Engineering
       (ICDE'01), Heidelberg, Germany, April 2001.
      B. Ozden, S. Ramaswamy, and A. Silberschatz. Cyclic association rules.
       ICDE'98, 412-421, Orlando, FL.
      S. Ramaswamy, S. Mahajan, and A. Silberschatz. On the discovery of
       interesting patterns in association rules. VLDB'98, 368-379, New York,
       NY.
      M.J. Zaki. Efficient enumeration of frequent sequences. CIKM’98.
       Novermber 1998.
      M.N. Garofalakis, R. Rastogi, K. Shim: SPIRIT: Sequential Pattern
       Mining with Regular Expression Constraints. VLDB 1999: 223-234,
       Edinburgh, Scotland.
03/27/12                              Data Mining                               76
文献 : 空间 , 多媒体 , 文本和
           Web 数据库频繁模式挖掘

      K. Koperski, J. Han, and G. B. Marchisio, "Mining Spatial and Image
       Data through Progressive Refinement Methods", Revue internationale
       de gomatique (European Journal of GIS and Spatial Analysis),
       9(4):425-440, 1999.
      A. K. H. Tung, H. Lu, J. Han, and L. Feng, "Breaking the Barrier of
       Transactions: Mining Inter-Transaction Association Rules", Proc. 1999
       Int. Conf. on Knowledge Discovery and Data Mining (KDD'99), San
       Diego, CA, Aug. 1999, pp. 297-301.
      J. Han, G. Dong and Y. Yin, "Efficient Mining of Partial Periodic
       Patterns in Time Series Database", Proc. 1999 Int. Conf. on Data
       Engineering (ICDE'99), Sydney, Australia, March 1999, pp. 106-115.

03/27/12                              Data Mining                              77
文献 : 空间 , 多媒体 , 文本和
           Web 数据库频繁模式挖掘

      H. Lu, L. Feng, and J. Han, "Beyond Intra-Transaction Association
       Analysis:Mining Multi-Dimensional Inter-Transaction Association
       Rules", ACM Transactions on Information Systems (TOIS’00), 18(4):
       423-454, 2000.
      O. R. Zaiane, M. Xin, J. Han, "Discovering Web Access Patterns and
       Trends by Applying OLAP and Data Mining Technology on Web
       Logs," Proc. Advances in Digital Librar ies Conf. (ADL'98), Santa
       Barbara, CA, April 1998, pp. 19-29
      O. R. Zaiane, J. Han, and H. Zhu, "Mining Recurrent Items in
       Multimedia with Progressive Resolution Refinement", Proc. 2000 Int.
       Conf. on Data Engineering (ICDE'00), San Diego, CA, Feb. 2000, pp.
       461-470.
03/27/12                             Data Mining                             78
文献 : 用于分类和数据方计算的频繁模式挖掘

      K. Beyer and R. Ramakrishnan. Bottom-up computation of sparse and
       iceberg cubes. SIGMOD'99, 359-370, Philadelphia, PA, June 1999.
      M. Fang, N. Shivakumar, H. Garcia-Molina, R. Motwani, and J. D.
       Ullman. Computing iceberg queries efficiently. VLDB'98, 299-310, New
       York, NY, Aug. 1998.
      J. Han, J. Pei, G. Dong, and K. Wang, “Computing Iceberg Data Cubes
       with Complex Measures”, Proc. ACM-SIGMOD’2001, Santa Barbara,
       CA, May 2001.
      M. Kamber, J. Han, and J. Y. Chiang. Metarule-guided mining of
       multi-dimensional association rules using data cubes. KDD'97, 207-210,
       Newport Beach, California.
      K. Beyer and R. Ramakrishnan. Bottom-up computation of sparse and
       iceberg cubes. SIGMOD’99
      T. Imielinski, L. Khachiyan, and A. Abdulghani. Cubegrades:
       Generalizing association rules. Technical Report, Aug. 2000

03/27/12                             Data Mining                                79
Thank you!


           Email: jieliu_heu@sohu.com
             phone#: (0451)88218988




03/27/12              Data Mining       80

Mais conteúdo relacionado

Mais procurados (20)

第6章指针
第6章指针第6章指针
第6章指针
 
Sql常见面试题
Sql常见面试题Sql常见面试题
Sql常见面试题
 
Ch7 範例
Ch7 範例Ch7 範例
Ch7 範例
 
07 陣列與字串
07 陣列與字串07 陣列與字串
07 陣列與字串
 
Ch10 習題
Ch10 習題Ch10 習題
Ch10 習題
 
Ch08
Ch08Ch08
Ch08
 
Ch12 範例
Ch12 範例Ch12 範例
Ch12 範例
 
17第十七讲(第七章中)(2)
17第十七讲(第七章中)(2)17第十七讲(第七章中)(2)
17第十七讲(第七章中)(2)
 
Ch9 範例
Ch9 範例Ch9 範例
Ch9 範例
 
Ch5 範例
Ch5 範例Ch5 範例
Ch5 範例
 
Js is js(程劭非) (1)
Js is js(程劭非) (1)Js is js(程劭非) (1)
Js is js(程劭非) (1)
 
2 4複數
2 4複數2 4複數
2 4複數
 
Ch2
Ch2Ch2
Ch2
 
C語言陣列與字串
C語言陣列與字串C語言陣列與字串
C語言陣列與字串
 
Learning to Rank: An Introduction to LambdaMART
Learning to Rank: An Introduction to LambdaMARTLearning to Rank: An Introduction to LambdaMART
Learning to Rank: An Introduction to LambdaMART
 
C語言標準輸出入函式
C語言標準輸出入函式C語言標準輸出入函式
C語言標準輸出入函式
 
Ch12 教學
Ch12 教學Ch12 教學
Ch12 教學
 
Ch4 教學
Ch4 教學Ch4 教學
Ch4 教學
 
Ch8 教學
Ch8 教學Ch8 教學
Ch8 教學
 
Ch5 教學
Ch5 教學Ch5 教學
Ch5 教學
 

关联规则

  • 2. 二、大型数据库中的关联规则挖掘  关联规则挖掘  事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算 法  挖掘各种关联 / 相关规则  基于限制的关联挖掘 -  顺序模式挖掘  频繁模式挖掘的应用 / 扩展  小结 03/27/12 Data Mining 2
  • 3. 什么是关联规则挖掘 ?  关联规则挖掘 :  发现事务数据库 , 关系数据 , 或其它信息库中项或数据对象集 合间的频繁模式 , 关联 , 相关 , 或因果关系结构 .  频繁模式 : 在数据库中频繁出现的模式 ( 项集 , 序列 , 等 )  动机 : 发现数据中的规律性  哪些产品更经常一起购买 ? — 啤酒 和 尿布 ?!  购买了 PC 后 , 哪些将相继购买 ?  什么类型的 DNA 对新药敏感 ?  我们能自动地对 Web 稳当分类吗 ? 03/27/12 Data Mining 3
  • 4. 为什么频繁模式挖掘是数据挖 掘的基本任务 ?  许多基本的数据挖掘任务的基础  关联 , 相关 , 因果关系  序列模式 , 时间或周期关联 , 局部周期性 , 空间和多媒体关联  关联分类 , 聚类分析 , 冰山方 , fascicles ( 语义数据压缩 )  广泛的应用  购物篮数据分析 , 分类设计 , 销售活动分析  Web 日志 ( 点击流 ) 分析 , DNA 序列分析 , 等 . 03/27/12 Data Mining 4
  • 5. 基本概念 : 频繁模式和关联规 则  Itemset X={x1, …, xk} Transaction-id Items bought  找出满足最先小支持度和置信度 10 A, B, C 的所有规则 X Y 20 A, C  支持度 , s, 事务包含 X∪Y 的 30 A, D 概率 40 B, E, F support(X Y ) =P(X∪Y ) 顾客购 顾客购买  置信度 , c, 包含 X 事务同时 买二者 尿布 也包含 Y 的条件概率 . (百 分比) confidence(X Y )=P(Y|X) min_support = 50%, 设  频繁模式 , 满足最小支持度的 min_conf = 50%: 模式。 顾客购买 A  C (50%, 66.7%) 啤酒 C  A (50%, 100%) 03/27/12 Data Mining 5
  • 6. 挖掘关联规则—一个例子 Transaction-id Items bought 最小支持度 50% 最小置信度 50% 10 A, B, C 20 A, C Frequent pattern Support 30 A, D {A} 75% 40 B, E, F {B} 50% {C} 50% {A, C} 50% 规则 A ⇒ C: 支持度 = support({A}∪{C}) = 50% 置信度 = support({A}∪{C})/support({A}) = 667% 03/27/12 Data Mining 6
  • 7. 二、大型数据库中的关联规则挖掘  关联规则挖掘  事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算 法  挖掘各种关联 / 相关规则  基于限制的关联挖掘 -  顺序模式挖掘  频繁模式挖掘的应用 / 扩展  小结 03/27/12 Data Mining 7
  • 8. Apriori: 一种候选产生 - 测试方 法  频繁项集的任何子集必须是频繁的  如果 {A,B, C} 是频繁的 , {A, B} 也是  每个包含 {A, B, C} 的事务 也包含 {A, B}  Apriori 剪枝原则 :  如果一个项集不是频繁的 , 将不产生 / 测试它的超集 !  方法 :  由长度为 k 的频繁项集产生长度为 (k+1) 的候选项集 , 并且  根据 DB 测试这些候选  性能研究表明了它的有效性和可伸缩性  Agrawal & Srikant 1994, Mannila, et al. 1994 03/27/12 Data Mining 8
  • 9. Apriori 算法 — 一个例子 Itemset sup Itemset sup 数据库 TDB {A} 2 L1 {A} 2 Tid Items C1 {B} 3 {B} 3 10 A, C, D {C} 3 {C} 3 20 B, C, E 第 1 次扫描 {D} 1 {E} 3 30 A, B, C, E {E} 3 40 B, E C2 Itemset sup C2 Itemset {A, B} 1 L2 Itemset sup {A, C} 2 第 2 次扫描 {A, B} {A, C} 2 {A, C} {A, E} 1 {B, C} 2 {A, E} {B, C} 2 {B, E} 3 {B, E} 3 {B, C} {C, E} 2 {C, E} 2 {B, E} {C, E} C3 Itemset 第 3 次扫描 L3 Itemset sup {B, C, E} {B, C, E} 2 03/27/12 Data Mining 9
  • 10. Apriori 算法  算法伪代码 : Ck: 长度为 k 的候选项集 Lk : 长度为 k 的频繁项集 L1 = { 频繁项 }; for (k = 1; Lk !=∅; k++) do begin Ck+1 = 由 Lk 产生的候选 ; for each 数据库中的事务 t do 增加包含在 t 中的所有候选 Ck+1 的计数 Lk+1 = Ck+1 中满足 min_support 的候选 end return ∪ k Lk; 03/27/12 Data Mining 10
  • 11. Apriori 的重要细节  如何产生候选 ?  步骤 1: Lk 的自连接  步骤 2: 剪枝  如何对候选的支持度计数 ?  候选产生的例子  L3={abc, abd, acd, ace, bcd}  自连接 : L3*L3  abcd : 由 abc 和 abd  acde : 由 acd 和 ace  剪枝 :  acde 被删除 , 因为 ade 不在 L3  C4={abcd} 03/27/12 Data Mining 11
  • 12. 如何产生候选 ?  假定 Lk-1 中的项集已排序  步骤 1: Lk-1 自连接 insert into Ck select p.item1, p.item2, …, p.itemk-1, q.itemk-1 from Lk-1 p, Lk-1 q where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 = q.itemk-1  Step 2: 剪枝 forall itemsets c in Ck do forall (k-1)-subsets s of c do if (s is not in Lk-1) then delete c from Ck 03/27/12 Data Mining 12
  • 13. 如何对候选的支持度计数 ?  为什么对候选的支持度计数是一个问题 ?  候选的总数可能非常大  一个事务可能包含多个候选  方法 :  候选项集存放在一个 hash- 树 中  hash- 树的 叶结点 包含一个项集和计数的列表  内部 结点 包含一个 hash 表  子集函数 : 找出包含在一个事务中的所有候选 03/27/12 Data Mining 13
  • 14. Apriori 用 SQL 有效实现  仅有基于纯的 SQL (SQL-92) 的方法 , 很难获得好 的性能  使用对象 - 关系扩展 , 如 UDFs, BLOBs, 表函数等 .  提高一个数量级  S. Sarawagi, S. Thomas, and R. Agrawal. Integrating association rule mining with relational database systems: Alternatives and implications. In SIGMOD’98 03/27/12 Data Mining 14
  • 15. 频繁模式挖掘的挑战  挑战  事务数据库的多遍扫描  数量巨大的候选  候选支持度计数繁重的工作量  改进 Apriori: 基本思想  减少事务数据库的扫描遍数  压缩候选数量  便于候选计数 03/27/12 Data Mining 15
  • 16. DIC(Dynamic itemset counting ): 减少扫描次数 ABCD  一旦确定 A 和 D 是频繁的 , 立 即开始 AD 的计数 ABC ABD ACD BCD  一旦确定 BCD 的两个长度为 2 的 子集是频繁的 , 立即开始 BCD 的 计数 AB AC BC AD BD CD 事务 1-itemsets A B C D 2-itemsets Apriori … {} 1-itemsets Itemset lattice 2-items S. Brin R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting 3-items DIC and implication rules for market basket data. In SIGMOD’97 03/27/12 Data Mining 16
  • 17. 划分 : 只扫描数据库两次  项集在 DB 中是频繁的 , 它必须至少在 DB 的一个划分 中是频繁的  扫描 1: 划分数据库 , 并找出局部频繁模式  扫描 2: 求出全局频繁模式  A. Savasere, E. Omiecinski, and S. Navathe. An efficient algorithm for mining association in large databases. In VLDB’95 03/27/12 Data Mining 17
  • 18. 频繁模式挖掘的瓶颈  多遍数据库扫描是 昂贵的  挖掘长模式需要很多遍扫描 , 并产生大量候选  挖掘频繁模式 i1i2…i100  扫描次数 : 100  候选个数 : (1001) + (1002) + … + (110000) = 2100-1 = 1.27*1030 !  瓶颈 : 候选产生 - 测试  能够避免候选产生吗 ? 03/27/12 Data Mining 18
  • 19. 挖掘频繁模式而不产生候选  使用局部频繁的项 , 由短模式增长产生长模式  “abc” 是频繁模式  得到包含 “ abc” 的所有事务 : DB|abc  “d” 是 DB|abc 中的局部频繁项中 abcd 是频繁模式 03/27/12 Data Mining 19
  • 20. 由事务数据库构造 FP- 树 TID Items bought (ordered) frequent items 100 {f, a, c, d, g, i, m, p} {f, c, a, m, p} 200 {a, b, c, f, l, m, o} {f, c, a, b, m} 300 {b, f, h, j, o, w} {f, b} min_support = 3 400 {b, c, k, s, p} {c, b, p} 500 {a, f, c, e, l, p, m, n} {f, c, a, m, p} {} Header Table 1. 扫描 DB 一次 , 找出频 繁 1-itemset ( 单个项的 f:4 c:1 模式 ) Item frequency head f 4 2. 按频率的降序将频繁项 c 4 c:3 b:1 b:1 排序 , 得到 f-list a 3 3. 再次扫描 DB, 构造 FP- b 3 a:3 p:1 树 m 3 p 3 m:2 b:1 F-list=f-c-a-b-m-p p:2 m:1 03/27/12 Data Mining 20
  • 21. FP- 树结构的优点  完全性  保留频繁模式挖掘的完整信息  不截断任何事务的长模式  压缩性  压缩无关信息—非频繁的项被删除  项按频率的降序排列 : 越是频繁出现 , 越可能被共享  绝对不比原来的数据库大 ( 不计结点链和计数字段 )  对于 Connect-4 DB, 压缩率超过 100 03/27/12 Data Mining 21
  • 22. 划分模式和数据库  可以按照 f-list 将频繁模式划分成子集  F-list=f-c-a-b-m-p  包含 p 的模式  包含 m 但不包含 p 的模式  …  包含 c 但不包含 a, b, m, p  模式 f 03/27/12 Data Mining 22
  • 23. 从 p- 条件数据库找出含 p 的模式  从 FP- 树的频繁项头表开始  沿着频繁项 p 的链搜索 FP- 树  收集项 p 的所有 变换的前缀路径 形成 p 的模式基 {} 头表 条件 模式基 Item frequency head f:4 c:1 item cond. pattern base f 4 c f:3 c 4 c:3 b:1 b:1 a 3 a fc:3 b 3 a:3 p:1 b fca:1, f:1, c:1 m 3 p 3 m fca:2, fcab:1 m:2 b:1 p fcam:2, cb:1 p:2 m:1 03/27/12 Data Mining 23
  • 24. 从条件模式基到条件 FP- 树  对于每个条件模式基  累计条件模式基中每个项的计数  构造模式基中频繁项的 FP- 树 m- 条件 模式基 : {} fca:2, fcab:1 头表 Item frequency head f:4 c:1 涉及 m 的所有频 f 4 {} 繁模式 c 4 c:3 b:1 b:1 a 3  m, f:3  fm, cm, am, b 3 a:3 p:1 m 3 c:3 fcm, fam, cam, p 3 m:2 b:1 fcam p:2 m:1 a:3 m- 条件 FP- 树 03/27/12 Data Mining 24
  • 25. 递归 : 挖掘每个条件 FP- 树 {} {} “am” 的条件模式基 : (fc:3) f:3 c:3 f:3 am- 条件 FP- 树 c:3 {} “cm” 的条件模式基 : (f:3) a:3 f:3 m- 条件 FP- 树 cm- 条件 FP- 树 {} “cam” 的条件模式基 : (f:3) f:3 cam- 条件 FP- 树 03/27/12 Data Mining 25
  • 26. 特殊情况 : FP- 树中的单个前缀路 径  假定 ( 条件 ) FP- 树 T 具有单个共享的前缀路径 P  挖掘可以分解成两步 {}  将单个前缀路径归约成 一个结点  连接两部分的挖掘结果 a1:n1 a2:n2 {} r1 a3:n3 a1:n1 b1:m1 C1:k1  r1 = a2:n2 + b1:m1 C1:k1 a3:n3 C2:k2 C3:k3 C2:k2 C3:k3 03/27/12 Data Mining 26
  • 27. 使用 FP- 树挖掘频繁模式  基本思想 : 频繁模式增长  通过模式和数据库划分递归地增长频繁模式  方法  对于每个频繁项 , 构造它的条件模式基 , 然后构造它的条件 FP- 树  在新构造的条件 FP- 树上重复这一过程  直到结果条件 FP- 树为空 , 或者它只包含一条路径—单个 路径将产生其子路径的所有组合 , 每个子路径是一个频繁模 式 03/27/12 Data Mining 27
  • 28. FP- 增长的规模化  FP- 树不能放在内存 , 怎么办 ?— 数据库投影  数据库投影  首先将数据库划分成一组投影 数据库  然后对每个投影数据库构造并挖掘 FP- 树 03/27/12 Data Mining 28
  • 29. FP- 增长 vs. Apriori: 随支持度增长的可伸 缩性 100 Data set T25I20D10K 90 D1 FP-grow th runtime D1 Apriori runtime 80 Run time(sec.) 70 60 50 40 30 20 10 0 0 0.5 1 1.5 2 2.5 3 Support threshold(%) 03/27/12 Data Mining 29
  • 30. 为什么 FP- 增长是赢家 ?  分治 :  根据已经得到的频繁模式划分任务和数据库  导致较小的数据库的聚焦的搜索  其它因素  没有候选产生 , 没有候选测试  压缩数据库 : FP- 树结构  不重复地扫描整个数据库  基本操作—局部频繁项计数和建立子 FP- 树 , 没有模式搜索 和匹配 03/27/12 Data Mining 30
  • 31. 关联方法  挖掘频繁闭项集合和最大模式  CLOSET (DMKD’00)  挖掘序列模式  FreeSpan (KDD’00), PrefixSpan (ICDE’01)  频繁模式的基于限制的挖掘  Convertible constraints (KDD’00, ICDE’01)  计算具有复杂度量的冰山数据方  H-tree and H-cubing algorithm (SIGMOD’01) 03/27/12 Data Mining 31
  • 32. 关联规则的可视化 : Pane Graph 03/27/12 Data Mining 32
  • 33. 关联规则的可视化 : Rule Graph 03/27/12 Data Mining 33
  • 34. 二、大型数据库中的关联规则挖掘  关联规则挖掘  事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算 法  挖掘各种关联 / 相关规则  基于限制的关联挖掘  顺序模式挖掘  频繁模式挖掘的应用 / 扩展  小结 03/27/12 Data Mining 34
  • 35. 挖掘各种规则或规律性  多层 , 量化关联规则 , 相关性和因果关系 , 比率规则 , 序列模式 , 显露模式 , 时间关联 , 局部周期性  关联 , 聚类 , 冰山方等 . 03/27/12 Data Mining 35
  • 36. 多层关联规则  项常常形成层次结构  灵活的支持度设定 : 较低层中的项一般具有较低的支 持度 .  事务数据库可以基于维和层进行编码  探测共享的多层挖掘 一致的支持度 递减的支持度 层 1 Milk Level 1 min_sup = 5% [support = 10%] min_sup = 5% 层 2 2% Milk Skim Milk Level 2 min_sup = 5% [support = 6%] [support = 4%] min_sup = 3% 03/27/12 Data Mining 36
  • 37. 具有灵活的支持度限制的 ML/MD 关 联  为什么 ?  现实中项的出现频率差异很大  购物中的钻石 , 表 , 笔  一致的支持度 可能不是一种好的模型  灵活的模型  通常 , 层越低 , 维的组合越多 , 长模式越长 , 支持度越小  一般规则应当是特指的 , 易于理解的  特殊的项或特殊的项群可能被个别地指定 , 并具有较高的优先 权 03/27/12 Data Mining 37
  • 38. 多维关联规则  单维规则 : buys(X, “milk”) ⇒ buys(X, “bread”)  多维规则 : 维或谓词 2  维间关联规则 ( 不含重复谓词 ) age(X,”19-25”) ∧ occupation(X,“student”) ⇒ buys(X,“coke”)  混合维关联规则 ( 含重复谓词 ) age(X,”19-25”) ∧ buys(X, “popcorn”) ⇒ buys(X, “coke”)  分类属性  有限个不同值 , 值之间无序  量化属性  数值的 , 值之间隐含次序 03/27/12 Data Mining 38
  • 39. 多层关联 : 冗余过滤  由于项之间的 “祖先” 联系 , 有些规则可能是多余 的.  例  milk ⇒ wheat bread [support = 8%, confidence = 70%]  2% milk ⇒ wheat bread [support = 2%, confidence = 72%]  我们可以说第一个规则是第二个规则的祖先 .  一个规则是冗余的 , 如果根据规则的祖先 , 其支持度 接近于“期望”值 . 03/27/12 Data Mining 39
  • 40. 挖掘多维关联的技术  搜索频繁 k- 谓词集 :  例 : {age, occupation, buys} 是一个 3- 谓词集 .  可以按如何处理 age 对技术分类 . 3. 使用量化属性的静态离散化  使用预先定义的概念分层 , 对量化属性静态地离散化 . 4. 量化关联规则  根据数据的分布 , 将量化属性离散化到 “箱” . 5. 基于距离的关联规则  是一种动态的离散化过程 , 它考虑数据点之间的距离 . 03/27/12 Data Mining 40
  • 41. 二、大型数据库中的关联规则挖掘  关联规则挖掘  事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算 法  挖掘各种关联 / 相关规则  基于限制的关联挖掘  顺序模式挖掘  频繁模式挖掘的应用 / 扩展  小结 03/27/12 Data Mining 41
  • 42. 基于约束的数据挖掘  自动地找出数据库中的所有模式 ? — 不现实 !  模式可能太多 , 并不聚焦 !  数据挖掘应当是一个 交互的 过程  用户使用数据挖掘查询语言 ( 或图形用户界面 ) 指导需要挖 掘什么  基于约束的挖掘  用户灵活性 : 提供挖掘的 约束  系统优化 : 考察限制 , 寻找有效的挖掘—基于约束的挖掘 03/27/12 Data Mining 42
  • 43. 数据挖掘的约束  知识类型约束 :  分类 , 关联 , 等 .  数据约束 — 使用类 SQL 查询  找出 Vancouver 2000 年 12 月份一起销售的产品对  维 / 层约束  关于 region, price, brand, customer category  规则 ( 或模式 ) 约束  小额销售 ( 价格 < $10) 触发大额销售 (sum > $200)  兴趣度约束  强规则 : min_support ≥ 3%, min_confidence ≥ 60% 03/27/12 Data Mining 43
  • 44. 受约束的挖掘 : 挖掘查询优化问 题  给定频繁模式挖掘查询 , 和约束集 C, 算法应当  可靠的 : 仅发现满足给定约束 C 的频繁模式  完全的 : 发现满足给定约束 C 的所有频繁模式  一种朴素的方法  首先找出所有的频繁模式 , 然后检查它们是否满足约束  更有效的方法 :  分析约束的性质  尽可能推进约束 到频繁模式的计算中 . 03/27/12 Data Mining 44
  • 45. 二、大型数据库中的关联规则挖掘  关联规则挖掘  事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算 法  挖掘各种关联 / 相关规则  基于限制的关联挖掘  顺序模式挖掘  频繁模式挖掘的应用 / 扩展  小结 03/27/12 Data Mining 45
  • 46. 序列数据库和序列模式挖掘  事务数据库 , 时间序列数据库 vs. 序列数据库  频繁模式 vs. ( 频繁 ) 序列模式  序列模式挖掘的应用  顾客购物序列 :  在 3 个月内 , 先买计算机 , 然后买 CD-ROM, 再后买数 字照相机 .  医疗处治 , 自然灾害 ( 例如 , 地震 ), 科学 和 工程进度 , 股票 和市场等 .  电话呼叫模式 , Web 日志 点击流  DNA 序列和基因结构 03/27/12 Data Mining 46
  • 47. 什么是序列模式挖掘 ?  给定一个序列的集合 , 找出所有的 频繁 子序列 一个 序列 : < (ef) (ab) (df) c b > 一个 序列数据库 SID sequence 一个元素可能包含一个项集 10 <a(abc)(ac)d(cf)> . 在一个元素中的项是无序的 20 <(ad)c(bc)(ae)> , 30 <(ef)(ab)(df)cb> <a(bc)dc> 是 <a(abc)(ac)d(cf)> 我们可以用字典序列出它们 40 <eg(af)cbc> . 的 子序列 给定 支持度阈值 min_sup =2, <(ab)c> 是一个 序列模式 03/27/12 Data Mining 47
  • 48. 序列模式挖掘的挑战  大量的 可能的序列模式隐藏在数据库中  挖掘算法应当  可能的话 , 找出满足最小支持度阈值的模式的完全集  高度 有效的 , 可伸缩的 , 仅涉及不多次数的数据库扫描  可以与各种用户指定的约束结合 03/27/12 Data Mining 48
  • 49. 序列模式挖掘研究  概念引进和最初的 类 Apriori 算法  R. Agrawal & R. Srikant. “Mining sequential patterns,” ICDE’95  GSP— 一种基于 Apriori 的 , 有影响的算法 (IBM Almaden 开发 )  R. Srikant & R. Agrawal. “Mining sequential patterns: Generalizations and performance improvements,” EDBT’96  由序列模式到 episodes ( 类 Apriori+ 约束 )  H. Mannila, H. Toivonen & A.I. Verkamo. “Discovery of frequent episodes in event sequences,” Data Mining and Knowledge Discovery, 1997  挖掘具有约束的序列模式  M.N. Garofalakis, R. Rastogi, K. Shim: SPIRIT: Sequential Pattern Mining with Regular Expression Constraints. VLDB 1999 03/27/12 Data Mining 49
  • 50. 序列模式的基本性质 : Apriori  基本性质 : Apriori (Agrawal & Sirkant’94)  如果序列 S 不是频繁的  则 S 的任何超序列都不是频繁的  例 , <hb> 是非频繁的 <hab> 和 <(ah)b> 也是非频繁的 Seq. ID Sequence 10 <(bd)cb(ac)> 给定 支持度阈值 min_sup =2 20 <(bf)(ce)b(fg)> 30 <(ah)(bf)abf> 40 <(be)(ce)d> 50 <a(bd)bcb(ade)> 03/27/12 Data Mining 50
  • 51. GSP— 一种拓广的序列模式挖掘算 法  GSP (Generalized Sequential Pattern) 挖掘算法  Agrawal 和 Srikant 提出 , EDBT’96  方法概述  初始 , 数据库中的每个项都是长度为 1 的候选  for each level ( 即 , 长度为 k 的序列 ) do  扫描数据库对每个候选序列收集支持度计数  使用 Apriori , 由长度为 k 的频繁序列产生长度为 (k+1) 的 候选序列  repeat until 找不到频繁序列或候选  主要优点 : 根据 Apriori 对后选剪枝 03/27/12 Data Mining 51
  • 52. 找长度为 1 的序列模式  使用一个例子考查 GSP  初始候选 : 所有单元素序列 Cand Sup  <a>, <b>, <c>, <d>, <e>, <f>, <g>, <h> <a> 3  扫描数据库一次 , 对候选进行支持度计 <b> 5 数 <c> 4 min_sup =2 <d> 3 Seq. ID Sequence 10 <(bd)cb(ac)> <e> 3 20 <(bf)(ce)b(fg)> <f> 2 30 <(ah)(bf)abf> <g> 1 40 <(be)(ce)d> 50 <a(bd)bcb(ade)> <h> 1 03/27/12 Data Mining 52
  • 53. 产生长度为 2 的候选 <a> <b> <c> <d> <e> <f> <a> <aa> <ab> <ac> <ad> <ae> <af> <b> <ba> <bb> <bc> <bd> <be> <bf> 51 个长度为 2 的候选 <c> <ca> <cb> <cc> <cd> <ce> <cf> <d> <da> <db> <dc> <dd> <de> <df> <e> <ea> <eb> <ec> <ed> <ee> <ef> <f> <fa> <fb> <fc> <fd> <fe> <ff> <a> <b> <c> <d> <e> <f> 不使用 Apriori 性质 <a> <(ab)> <(ac)> <(ad)> <(ae)> <(af)> ,8*8+8*7/2=92 个候选 <b> <(bc)> <(bd)> <(be)> <(bf)> <c> <(cd)> <(ce)> <(cf)> <d> <(de)> <(df)> Apriori 剪裁 <e> <(ef)> 掉 <f> 44.57% 的候 选 03/27/12 Data Mining 53
  • 54. 找出长度为 2 的序列模式  再扫描数据库一次 , 对每个长度为 2 的候选收集支 持度计数  有 19 长度为 2 的候选 , 满足最小支持度阈值  它们是长度为 2 的序列模式 03/27/12 Data Mining 54
  • 55. 产生长度为 3 的候选并找出长度为 3 的模式  产生长度为 3 的候选  长度为 2 的序列模式自连接  根据 Apriori 性质  <ab>, <aa> 和 <ba> 都是长度为 2 的序列模式 <aba> 是一个长度为 3 的候选  <(bd)>, <bb> 和 <db> 都是长度为 2 的序列模式 <(bd)b> 是一个长度为 3 的候选  产生 46 个候选  找出长度为 3 的序列模式  再次扫描数据库 , 收集候选的支持度计数  46 个候选中有 19 个满足支持度计数 03/27/12 Data Mining 55
  • 56. GSP 挖掘过程 第 5 次扫描 : 1 个候选 . 1 长度 <(bd)cba> 候选不满足 为 5 的序列模式 支持度阈值 第 4 次扫描 : 8 个候选 . 6 个长 <abba> <(bd)bc> … 候选不在 DB 中 度为 4 的序列模式 . 第 3 次扫描 : 46 个候选 . 19 长 <abb> <aab> <aba> <baa> <bab> … 度为 3 的序列模式 . 20 个候选 第 2 DB 不在次扫描 : 51 候选 . 19 个长 度为 2 的序列模式 . 10 候选不 <aa> <ab> … <af> <ba> <bb> … <ff> <(ab)> … <(ef)> 第 1 DB 在 次扫描 : 8 候选 . 6 个长 度为 1 的序列模式 <a> <b> <c> <d> <e> <f> <g> <h> Seq. ID Sequence 10 <(bd)cb(ac)> min_sup =2 20 <(bf)(ce)b(fg)> 30 <(ah)(bf)abf> 40 <(be)(ce)d> 50 <a(bd)bcb(ade)> 03/27/12 Data Mining 56
  • 57. GSP 算法  取形如 <x> 的模式作为长度为 1 的候选  扫描数据库 1 次 , 找出 F1, 长度为 1 的序列模式的集 合  令 k=1; while Fk is not empty do  由 Fk 形成 Ck+1, 长度为 (k+1) 的候选的集合 ;  如果 Ck+1 非空 , 扫描一次数据库 , 找出 Fk+1, 长度为 (k+1) 序列模式的集合  令 k=k+1; 03/27/12 Data Mining 57
  • 58. GSP 的瓶颈  可能产生的候选的集合可能很大  1,000 长度为 1 的频繁序列可以产生 1000 × 999 1000 ×1000 + = 1,499,500 2 长度为 2 的候选 !  挖掘中多次扫描数据库  实际挑战 : 挖掘长序列模式  指数个数短候选  一个长度为 100 的序列模式 需要 1030 个候选序列 ! 100  100  100 ∑ i    = 2 − 1 ≈ 1030 i =1   03/27/12 Data Mining 58
  • 59. 二、大型数据库中的关联规则挖掘  关联规则挖掘  事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算 法  挖掘各种关联 / 相关规则  基于限制的关联挖掘  顺序模式挖掘  频繁模式挖掘的应用 / 扩展  小结 03/27/12 Data Mining 59
  • 60. 发现 Web 使用模式  统计分析  对页面浏览 , 浏览时间 , 导航路径长度等描述性统计分析 ( 频率 , 平均 , 等 ).  定期报告 : 最频繁访问的页面 , 页面的平均浏览时间 , 未经 授权的登入点 , 等 .  提高系统的性能 , 加强安全性 , 支持营销决策  数据仓库和 OLAP 技术  多维分析 , 数据方技术 , 下钻 / 上卷  关联规则挖掘  频繁地同时出现的模式 / 路径 , 相关性  行销 , Web 页面预取 , Web 重构 03/27/12 Data Mining 60
  • 61. 发现 Web 使用模式 ( 续 )  序列模式挖掘  发现内部会话模式 , 用于趋势分析 , 改变点检测 (change point detection), 或相似性分析  依赖建模  用户浏览模型 , 用于预测  使用隐藏的 Markov 模型 , Bayesian 信念网络 , 等 .  分类  找出属于同一类的用户群  聚类  对用户聚类 ( 具有类似的浏览模式 ) , 用于市场分割或个性 化 Web 内容  对页面聚类 ( 具有相关内容 ), 用于 Internet 搜索引擎和 Web assistance providers 03/27/12 Data Mining 61
  • 62. DNA 分析和生物医学数据挖掘  相似性搜索和 DNA 序列比较  比较每个类频繁出现的模式 ( 例如 , 疾病和健康 )  识别在各种疾病中起作用的基因模式  关联分析 : 识别同时出现的基因序列  大部分疾病不是由单个基因引发的 , 而是由一起起作用的基因 组引发的  关联分析可以帮助确定多半可能同时出现在目标样本中的基因 类型  路径分析 : 将基因与疾病的不同发展阶段相联系  不同的基因可能在疾病的不同阶段是活跃的  针对不同阶段 , 分别开发治疗药物  可视化工具和遗传数据分析 03/27/12 Data Mining 62
  • 63. 二、大型数据库中的关联规则挖掘  关联规则挖掘  事务数据库中 ( 单维布尔 ) 关联规则挖掘的可伸缩算 法  挖掘各种关联 / 相关规则  基于限制的关联挖掘  顺序模式挖掘  频繁模式挖掘的应用 / 扩展  小结 03/27/12 Data Mining 63
  • 64. 频繁模式挖掘 : 成就  频繁模式挖掘—数据挖掘的一项重要任务  频繁模式挖掘方法  候选产生与测试 vs. 基于投影 ( 频繁模式增长 )  垂直 vs. 水平格式  各种优化方法 : 数据库划分 , 扫描压缩 , hash 树 , 选样 , 边界 计算 , 聚类 , 等 .  与频繁模式挖掘相关的算法 : 外延  挖掘闭的频繁项集和最大模式 ( 例如 , MaxMiner, CLOSET, CHARM, 等 .)  挖掘具有柔性支持读约束的多层 , 多维频繁模式  挖掘优化的约束推进  由频繁模式到相关和因果关系 03/27/12 Data Mining 64
  • 65. 频繁模式挖掘 : 应用  需要频繁模式挖掘的相关问题  基于关联的分类  冰山查询计算  通过束 (fascicles) 和频繁模式压缩数据库  挖掘序列模式 (GSP, PrefixSpan, SPADE, 等 .)  挖掘局部周期性 , 循环关联 , 等 .  挖掘频繁结构 , 趋势 , 等 .  典型的应用  购物篮分析 , Web 日志分析 , DNA 挖掘 , 等 . 03/27/12 Data Mining 65
  • 66. 文献 : 频繁模式挖掘方法  R. Agarwal, C. Aggarwal, and V. V. V. Prasad. A tree projection algorithm for generation of frequent itemsets. Journal of Parallel and Distributed Computing, 2000.  R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of items in large databases. SIGMOD'93, 207-216, Washington, D.C.  R. Agrawal and R. Srikant. Fast algorithms for mining association rules. VLDB'94 487-499, Santiago, Chile.  J. Han, J. Pei, and Y. Yin: “Mining frequent patterns without candidate generation”. In Proc. ACM-SIGMOD’2000, pp. 1-12, Dallas, TX, May 2000.  H. Mannila, H. Toivonen, and A. I. Verkamo. Efficient algorithms for discovering association rules. KDD'94, 181-192, Seattle, WA, July 1994. 03/27/12 Data Mining 66
  • 67. 文献 : 频繁模式挖掘方法  A. Savasere, E. Omiecinski, and S. Navathe. An efficient algorithm for mining association rules in large databases. VLDB'95, 432-443, Zurich, Switzerland.  C. Silverstein, S. Brin, R. Motwani, and J. Ullman. Scalable techniques for mining causal structures. VLDB'98, 594-605, New York, NY.  R. Srikant and R. Agrawal. Mining generalized association rules. VLDB'95, 407-419, Zurich, Switzerland, Sept. 1995.  R. Srikant and R. Agrawal. Mining quantitative association rules in large relational tables. SIGMOD'96, 1-12, Montreal, Canada.  H. Toivonen. Sampling large databases for association rules. VLDB'96, 134-145, Bombay, India, Sept. 1996.  M.J. Zaki, S. Parthasarathy, M. Ogihara, and W. Li. New algorithms for fast discovery of association rules. KDD’97. August 1997. 03/27/12 Data Mining 67
  • 68. 文献 : 频繁模式挖掘 ( 性能改进 )  S. Brin, R. Motwani, J. D. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket analysis. SIGMOD'97, Tucson, Arizona, May 1997.  D.W. Cheung, J. Han, V. Ng, and C.Y. Wong. Maintenance of discovered association rules in large databases: An incremental updating technique. ICDE'96, New Orleans, LA.  T. Fukuda, Y. Morimoto, S. Morishita, and T. Tokuyama. Data mining using two-dimensional optimized association rules: Scheme, algorithms, and visualization. SIGMOD'96, Montreal, Canada.  E.-H. Han, G. Karypis, and V. Kumar. Scalable parallel data mining for association rules. SIGMOD'97, Tucson, Arizona.  J.S. Park, M.S. Chen, and P.S. Yu. An effective hash-based algorithm for mining association rules. SIGMOD'95, San Jose, CA, May 1995. 03/27/12 Data Mining 68
  • 69. 文献 : 频繁模式挖掘 ( 性能改进 )  G. Piatetsky-Shapiro. Discovery, analysis, and presentation of strong rules. In G. Piatetsky-Shapiro and W. J. Frawley, Knowledge Discovery in Databases,. AAAI/MIT Press, 1991.  J.S. Park, M.S. Chen, and P.S. Yu. An effective hash-based algorithm for mining association rules. SIGMOD'95, San Jose, CA.  S. Sarawagi, S. Thomas, and R. Agrawal. Integrating association rule mining with relational database systems: Alternatives and implications. SIGMOD'98, Seattle, WA.  K. Yoda, T. Fukuda, Y. Morimoto, S. Morishita, and T. Tokuyama. Computing optimized rectilinear regions for association rules. KDD'97, Newport Beach, CA, Aug. 1997.  M. J. Zaki, S. Parthasarathy, M. Ogihara, and W. Li. Parallel algorithm for discovery of association rules. Data Mining and Knowledge Discovery, 1:343-374, 1997. 03/27/12 Data Mining 69
  • 70. 文献 : 频繁模式挖掘 ( 外延 )  S. Brin, R. Motwani, and C. Silverstein. Beyond market basket: Generalizing association rules to correlations. SIGMOD'97, 265-276, Tucson, Arizona.  J. Han and Y. Fu. Discovery of multiple-level association rules from large databases. VLDB'95, 420-431, Zurich, Switzerland.  M. Klemettinen, H. Mannila, P. Ronkainen, H. Toivonen, and A.I. Verkamo. Finding interesting rules from large sets of discovered association rules. CIKM'94, 401-408, Gaithersburg, Maryland.  F. Korn, A. Labrinidis, Y. Kotidis, and C. Faloutsos. Ratio rules: A new paradigm for fast, quantifiable data mining. VLDB'98, 582-593, New York, NY. 03/27/12 Data Mining 70
  • 71. 文献 : 频繁模式挖掘 ( 外延 )  B. Lent, A. Swami, and J. Widom. Clustering association rules. ICDE'97, 220-231, Birmingham, England.  R. Meo, G. Psaila, and S. Ceri. A new SQL-like operator for mining association rules. VLDB'96, 122-133, Bombay, India.  R.J. Miller and Y. Yang. Association rules over interval data. SIGMOD'97, 452-461, Tucson, Arizona.  A. Savasere, E. Omiecinski, and S. Navathe. Mining for strong negative associations in a large database of customer transactions. ICDE'98, 494-502, Orlando, FL, Feb. 1998.  D. Tsur, J. D. Ullman, S. Abitboul, C. Clifton, R. Motwani, and S. Nestorov. Query flocks: A generalization of association-rule mining. SIGMOD'98, 1-12, Seattle, Washington.  J. Pei, A.K.H. Tung, J. Han. Fault-Tolerant Frequent Pattern Mining: Problems and Challenges. SIGMOD DMKD’01, Santa Barbara, CA. 03/27/12 Data Mining 71
  • 72. 文献 : 挖掘最大模式和闭项集  R. J. Bayardo. Efficiently mining long patterns from databases. SIGMOD'98, 85-93, Seattle, Washington.  J. Pei, J. Han, and R. Mao, "CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets", Proc. 2000 ACM-SIGMOD Int. Workshop on Data Mining and Knowledge Discovery (DMKD'00), Dallas, TX, May 2000.  N. Pasquier, Y. Bastide, R. Taouil, and L. Lakhal. Discovering frequent closed itemsets for association rules. ICDT'99, 398-416, Jerusalem, Israel, Jan. 1999.  M. Zaki. Generating Non-Redundant Association Rules. KDD'00. Boston, MA. Aug. 2000  M. Zaki. CHARM: An Efficient Algorithm for Closed Association Rule Mining, SIAM’02 03/27/12 Data Mining 72
  • 73. 文献 : 基于约束的频繁模式挖 掘  G. Grahne, L. Lakshmanan, and X. Wang. Efficient mining of constrained correlated sets. ICDE'00, 512-521, San Diego, CA, Feb. 2000.  Y. Fu and J. Han. Meta-rule-guided mining of association rules in relational databases. KDOOD'95, 39-46, Singapore, Dec. 1995.  J. Han, L. V. S. Lakshmanan, and R. T. Ng, "Constraint-Based, Multidimensional Data Mining", COMPUTER (special issues on Data Mining), 32(8): 46-50, 1999.  L. V. S. Lakshmanan, R. Ng, J. Han and A. Pang, "Optimization of Constrained Frequent Set Queries with 2-Variable Constraints", SIGMOD’99 03/27/12 Data Mining 73
  • 74. 文献 : 基于约束的频繁模式挖 掘  R. Ng, L.V.S. Lakshmanan, J. Han & A. Pang. “Exploratory mining and pruning optimizations of constrained association rules.” SIGMOD’98  J. Pei, J. Han, and L. V. S. Lakshmanan, "Mining Frequent Itemsets with Convertible Constraints", Proc. 2001 Int. Conf. on Data Engineering (ICDE'01), April 2001.  J. Pei and J. Han "Can We Push More Constraints into Frequent Pattern Mining?", Proc. 2000 Int. Conf. on Knowledge Discovery and Data Mining (KDD'00), Boston, MA, August 2000.  R. Srikant, Q. Vu, and R. Agrawal. Mining association rules with item constraints. KDD'97, 67-73, Newport Beach, California. 03/27/12 Data Mining 74
  • 75. 文献 : 序列模式挖掘方法  R. Agrawal and R. Srikant. Mining sequential patterns. ICDE'95, 3-14, Taipei, Taiwan.  R. Srikant and R. Agrawal. Mining sequential patterns: Generalizations and performance improvements. EDBT’96.  J. Han, J. Pei, B. Mortazavi-Asl, Q. Chen, U. Dayal, M.-C. Hsu, "FreeSpan: Frequent Pattern-Projected Sequential Pattern Mining", Proc. 2000 Int. Conf. on Knowledge Discovery and Data Mining (KDD'00), Boston, MA, August 2000.  H. Mannila, H Toivonen, and A. I. Verkamo. Discovery of frequent episodes in event sequences. Data Mining and Knowledge Discovery, 1:259-289, 1997. 03/27/12 Data Mining 75
  • 76. 文献 : 序列模式挖掘方法  J. Pei, J. Han, H. Pinto, Q. Chen, U. Dayal, and M.-C. Hsu, "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix- Projected Pattern Growth", Proc. 2001 Int. Conf. on Data Engineering (ICDE'01), Heidelberg, Germany, April 2001.  B. Ozden, S. Ramaswamy, and A. Silberschatz. Cyclic association rules. ICDE'98, 412-421, Orlando, FL.  S. Ramaswamy, S. Mahajan, and A. Silberschatz. On the discovery of interesting patterns in association rules. VLDB'98, 368-379, New York, NY.  M.J. Zaki. Efficient enumeration of frequent sequences. CIKM’98. Novermber 1998.  M.N. Garofalakis, R. Rastogi, K. Shim: SPIRIT: Sequential Pattern Mining with Regular Expression Constraints. VLDB 1999: 223-234, Edinburgh, Scotland. 03/27/12 Data Mining 76
  • 77. 文献 : 空间 , 多媒体 , 文本和 Web 数据库频繁模式挖掘  K. Koperski, J. Han, and G. B. Marchisio, "Mining Spatial and Image Data through Progressive Refinement Methods", Revue internationale de gomatique (European Journal of GIS and Spatial Analysis), 9(4):425-440, 1999.  A. K. H. Tung, H. Lu, J. Han, and L. Feng, "Breaking the Barrier of Transactions: Mining Inter-Transaction Association Rules", Proc. 1999 Int. Conf. on Knowledge Discovery and Data Mining (KDD'99), San Diego, CA, Aug. 1999, pp. 297-301.  J. Han, G. Dong and Y. Yin, "Efficient Mining of Partial Periodic Patterns in Time Series Database", Proc. 1999 Int. Conf. on Data Engineering (ICDE'99), Sydney, Australia, March 1999, pp. 106-115. 03/27/12 Data Mining 77
  • 78. 文献 : 空间 , 多媒体 , 文本和 Web 数据库频繁模式挖掘  H. Lu, L. Feng, and J. Han, "Beyond Intra-Transaction Association Analysis:Mining Multi-Dimensional Inter-Transaction Association Rules", ACM Transactions on Information Systems (TOIS’00), 18(4): 423-454, 2000.  O. R. Zaiane, M. Xin, J. Han, "Discovering Web Access Patterns and Trends by Applying OLAP and Data Mining Technology on Web Logs," Proc. Advances in Digital Librar ies Conf. (ADL'98), Santa Barbara, CA, April 1998, pp. 19-29  O. R. Zaiane, J. Han, and H. Zhu, "Mining Recurrent Items in Multimedia with Progressive Resolution Refinement", Proc. 2000 Int. Conf. on Data Engineering (ICDE'00), San Diego, CA, Feb. 2000, pp. 461-470. 03/27/12 Data Mining 78
  • 79. 文献 : 用于分类和数据方计算的频繁模式挖掘  K. Beyer and R. Ramakrishnan. Bottom-up computation of sparse and iceberg cubes. SIGMOD'99, 359-370, Philadelphia, PA, June 1999.  M. Fang, N. Shivakumar, H. Garcia-Molina, R. Motwani, and J. D. Ullman. Computing iceberg queries efficiently. VLDB'98, 299-310, New York, NY, Aug. 1998.  J. Han, J. Pei, G. Dong, and K. Wang, “Computing Iceberg Data Cubes with Complex Measures”, Proc. ACM-SIGMOD’2001, Santa Barbara, CA, May 2001.  M. Kamber, J. Han, and J. Y. Chiang. Metarule-guided mining of multi-dimensional association rules using data cubes. KDD'97, 207-210, Newport Beach, California.  K. Beyer and R. Ramakrishnan. Bottom-up computation of sparse and iceberg cubes. SIGMOD’99  T. Imielinski, L. Khachiyan, and A. Abdulghani. Cubegrades: Generalizing association rules. Technical Report, Aug. 2000 03/27/12 Data Mining 79
  • 80. Thank you! Email: jieliu_heu@sohu.com phone#: (0451)88218988 03/27/12 Data Mining 80