多层次关联规则的有效挖掘算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 关联规则的挖掘问题
1. 1 多层次关联规则的挖掘
概括的层次关系用有向无环图 (DA G ) 表示 [3 ] , 顶点表示项目或概括的项目 ( 即分类). 若从顶点 A 到 B 之间有弧,
Ξ
本文研究得到国家自然科学基金资助. 作者程继华, 1964 年生, 讲师, 主要研究领域为数据挖掘, 计算机可视化技术. 施鹏飞,
> Ρm in , 称关联规则 A ] B 为强的 ( Strong ).
[4 ]
பைடு நூலகம்
挖掘关联规则即是对于最小支持率 Ρm in 与最小可信度 7 m in 求解强的规则. 定义3. 在事务数据集合 D 上, 支持率大于最小支持率 Ρm in 的长度为 i 的模式, 称为 i 频繁模式. 全部 i 频繁模式的 集合, 称为 i 频繁模式集合, 记为 L i. [1 ] ∪iL i 称为频繁模式集合, 记为 L . [5 ] 定义4. 长度为 i 的模式 P , 去掉任意一个项目所形成的长度为 i - 1的模式, 称为 P 的 i - 1子模式. 引理1. i 频繁模式 P 的 i- 1子模式也是频繁模式. [2, 4 ] 定理1. 给定长度为 i 的模式 P 和 P 的任意两个 i- 1子模式 A , B , 同时支持 A 和 B 的事务组成了 P 的支持事务 集合.
P a ttern 为模式包含的项目集合, 项目按字典序排列, 记为 P. P a ttern; S upp ort 为模式的支持事务集合, 由事务标识号 T id 组成, 按升序排列, 记为 P. S upp ort (P. S upp ort 中的事务数目记为 P. S upp ort ) , 模式根据 H ash 函数确定其在 L
p ).
定义1. 模式 P 定义为: {A 1 , A 2 ,. . . , A k }, A i ∈G I ∪ I ( i = 1, 2,. . . , k ) , 称模式 P 的长度为 k. 对于事务 t = {T id, 〈B 1 , B 2 ,. . . , B p 〉 }, 若Π A i ( i = 1, 2,. . . , k ) , ϖ B j ( j = 1, 2,. . . , p ) , A i = B j 或 A i 是 B j 的祖先, 称事务 t 支持模式 P , 或 事务 t 包含模式 P. 例1: 一个顾客购买商品 app le, b read, bu tter, 在事务集合中表示为{101,〈app le, bread , bu tter 〉 }, 其中101为事务标 识号, 全局唯一. D 中包含模式 P 的事务个数 模式 P 在事务数据集合 D 中的支持率 ( Suppo rt ) Ρ ( P D ) = . 规则 A ] B 的可信度 D 中事务总个数 ( ) (Confidence ) 7 (A ] B D ) = Ρ A ∩B D , 即事务支持 A 时支持 B 的条件概率, 其中 A , B 均为模式. [2, 4, 5 ] Ρ (A D ) 支持率表示在事务数据集合中模式出现的概率, 可信度表示规则的前件与后件的依赖程度. 为挖掘有效的关联规 则, 必须定义最小支持率 Ρm in 与最小可信度 7 m in. [2 ] 定义2. 若模式 P 的支持率 Ρ (P D ) > Ρm in , 称 P 是频繁模式 ( F requen t ). 若 7 (A ] B D ) > 7 m in , 并且 Ρ (A ∩B D )
1939年生, 教授, 博导, 主要研究领域为图象处理, 模式识别, 计算机视觉, 智能技术与系统.
本文通讯联系人: 程继华, 上海200030, 上海交通大学图象处理与模式识别研究所 本文1997207207收到原稿, 1997211224收到修改稿
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
http://www.cnki.net
— 938 —
软 件 学 报
9卷
称 A 是 B 的祖先, B 是 A 的子孙. 祖先关系具有传递性. 记 I 为项目集合 ( I tem sets) , G I 为 I 中的项目概括后的概括项 目集合, 即 G I 为 I 中的项目的祖先组成的集合. 从根节点到叶节点的长度称为概括的层次. 事务 (T ran saction ) 表示为{T id,〈 }, 其中 T id 为事务标识号, 全局唯一, 项目 A i ∈ I ( i = 1, 2,. . . , A 1 , A 2 ,. . . , A p 〉
k= 2
[7 ]
i
为 L i 中的模式数目, L i [m ] 为 L i 中的
D > Ρ m in }
W h ile L k - 1 ◇ {} Do { L k = {} Fo r n = 1 to L k - 1 - 1 Step 1 Fo r m = n + 1 to L k - 1 Step 1 If ( L k - 1 [m ]. P a ttern ∪L k - 1 [ n ]. P a ttern 4 k ) and (L k - 1 [m ]. P a ttern 中项目与 L k - 1 [ n ]. P a ttern 中项目无子孙关系) T hen { P. P a ttern = L k - 1 [m ]. P a ttern ∪L k - 1 [ n ]. P a ttern If ( P. P a ttern | L k ) T hen {P. S upp ort= L k - 1 [m ]. S upp ort∩L k - 1 [ n ]. S upp ort If P. S upp ort D > Ρ m in T hen L k = L k ∪{P }
i
中的位置 , 以实现快速查找. 记 D 为事务数据集合 D 的事务数目, I 为项目集合中项目的数目, L 第 m 个 i 频繁模式. A R _ SET 算法:
Inp u t: 事务数据集合 D , 最小支持率 Ρm in O u tp u t: 频繁模式集合 L M ethod: 〈 L 1= { A , S 〉A ∈ I ∪G I , S 为支持 A 的事务集合, A . S upp ort
. P 的事务也支持 A , B . 所以, P 的支持事务集合是由同时支持 A 和 B 的事务组成的
证明: 由定义4, P 的 i - 1子模式 A , B 包含了 P 的 i 个项目. 由定义1, 支持 A 和 B 的事务也支持 P. 由引理1, 支持 □ [6 ] A graw a l 等人给出了由频繁模式集合构造关联规则的算法. 以下着重讨论求解频繁模式集合 L . 1. 2 关联规则挖掘算法 AR_ SET 在 A R _ SET 算法中, 模式由模式包含的项目集合和模式的支持事务集合组成, 模式 P 表示为 〈P a ttern , S upp ort〉 ,
第9卷第12期 1998年12月
软 件 学 报 JOU RNAL O F SO FTW A R E
Vol . 9, N o. 12 D ec. 1998
多层次关联规则的有效挖掘算法
程继华 施鹏飞
Ξ
( 上海交通大学图象处理与模式识别研究所 上海 200030)
摘要 数据挖掘 (D a ta M in ing ) 被认为是解决 “数据爆炸” 和 “数据丰富, 信息贫乏 (D a ta R ich and Info rm a 2 的一种有效方法. 关联规则 (A ssocia tion R u les) 是数据挖掘的重要研究内容. 提出了多层次关 tion Poo r) ” 联规则的挖掘算法——A R _ SET , 利用集合 “或” 、 “与” 运算求解频繁模式 ( F requen t Item set ) , 提高了挖掘 的效率和速度. 实验结果表明, 算法 A R _ SET 是有效的, 并对 A R _ SET 算法的几个变种进行了讨论. 关 键 词 数据挖掘, 关联规则, 概括, 具体. 中图法分类号 T P311 数据挖掘 (D a ta M in ing ) , 也称数据库中知识发现 KDD ( know ledge discovery in da taba se ) , 是从大量原始数据中 挖掘出隐含的、 有用的、 尚未发现的信息和知识 ( 如知识规则, 限制等) [1 ] , 被认为是目前解决 “数据爆炸” 和 “数据丰富, 信息贫乏 (D a ta R ich and Info rm a tion Poo r) ” 的一种有效方法. 关联规则 (A ssocia tion R u les) 由 R. A graw a l 等人提出, 是 KDD 研究的重要内容. 给定一个事务集合 ( T ran saction ) Set , 每个事务由一组项目 ( Item set ) 组成, 关联规则表示为 A ] B (sup , conf ) 的形式, 其中 A , B 是项目集合, sup 是支 持率, conf 是可信度, 表示在事务集合中, 有 sup 部分事务支持项目集合 A , 支持 A 的事务中有 conf 部分也支持项目 集 合 B . [2 ] 例如, 5% 的顾客买 “家佳牌” 面包, 买 “家佳牌” 面包的顾客 8% 也买 “家佳牌” 黄油, 表示为 “家佳牌” 面包 ] “家佳牌” 黄油 ( 5% , 8% ). 关联规则的应用包括商场的顾客购物分析、 商品广告邮寄分析、 网络故障分析等. [2~ 4 ] 关 联 规 则 只 用 原 始 数 据 表 示, 由 于 支 持 率 低, 难 于 表 达 普 遍 的 数 据 关 联 关 系. 通 常, 项 目 是 分 类 的 ( T axonom ies) [3, 4 ] , 例如, 饮料分为可乐类、 矿泉水类等, 可乐类可分为百氏可乐和可口可乐等. 这样的层次关系可看 成从下到上的概括或抽象 ( Genera liza tion ) 以及从上到下的具体 ( Sp ecifica tion ). 关联规则中的项目用归纳的项目表 示, 易于理解、 获得大的支持率和表达普遍的数据关联关系. A graw a l 等 人 提 出 了 A IS [2 ] , A p rio ri 和 A p rio riT id [5 ] , Cum u la te 和 Stra tify [3 ] 等 算 法, Hou tsm a 等 人 提 出 了 挖掘关联规则. H an 等人在面向属性归纳 (A ttribu te _ O rien ted Induction ) 的 SETM [6 ] , Pa rk 等人提出了 DH P [7 ] 算法、 [8 ] 基础上 , 提出了多层次关联规则的挖掘算法 M L _ T 2L 1 [4 ] 等, 先求出高概括层的频繁模式 ( F requen t Item set ) , 逐渐 具体化, 挖掘低概括层的频繁模式, 最后由频繁模式求解关联规则. 为提高挖掘的效率, A p rio riT id 算法在事务中记录 支持的模式;M L _ T 2L 1算法也采用了类似 A p rio riT id 算法的结构, 在事务中记录支持的概括层的模式, 减少了冗余匹 配和对事务数据的访问. 本文提出的多层次关联规则挖掘算法 A R _ SET (m u lti_ level a ssocia tion ru les w ith SET op era tion ) , 利用集合 “或” 和 “与” 运算求解频繁模式, 避免了模式的匹配运算, 提高了挖掘的效率和速度. 在求候选频繁模式的同时, 求出候 选频繁模式的支持率, 而不是先求候选频繁模式集合, 再求支持率, 提高了内存的使用效率. 算法的实验结果表明, 算 法是有效的. 本文还对 A R _ SET 算法的几个变种进行了讨论. 本文第1 节描述了关联规则的挖掘问题, 提出了挖掘算 法 A R _ SET 和几个变种; 第2节对算法的性能分别进行了分析研究; 第3节是结论.