关联规则挖掘综述
5 Apriori 算法
5.1 算法的基本思想: Apriori 算法主要工作在于寻找频繁项集。通过先计算所有的 候选 1- 项集的集合 C1。找出所有的频繁 1- 项集 L1。然后根据频 繁 1- 项集 L1 确定候选 2- 项集的集合 C2。从 C2 中找出所有的频 繁 2- 项 集 L2。 再 根 据 频 繁 2- 项 集 L2 确 定 候 选 3- 项 集 的 集 合 C3。从 C3 中找出所有的频繁 3- 项集 L3。如此下去直到不再有候 选项集。算法 Apriori: L1=find_frequent_1- itemsets(D); for(k=2;LK- 1! =NULL;K++) {Ck=aprori_gen(Lk- 1); //由 Lk- 1 经过连接和剪枝产生 K 候选项集 for each transaction t∈D //扫 描 所 有 的 事 务 {Ct=subset(Ck,t); //从 t 中取得是候选集的子集 for each candidate c∈Ct c.count++;} Lk={c∈Ck|c.count>=min_sup} }Return L=UkLk; 在 论 文 中 , Agrawal 等 引 入 了 修 剪 技 术 ( Pruning) 来 减 小 候 选 集 Ck 的大小, 利用我们前面介绍过得性质: 频繁项集的所有非空 子集都必须也是频繁的。 这个修剪过程可以降低计算所有的候选集的支持度的代价。 在论文[1]中, 还引入了杂凑树( Hash Tree) 方法来有效的计算每个 项集的支持度。 5.2 算法的性能分析 在 apriori 算 法 中 , Ck 中 的 每 个 元 素 需 要 在 交 易 数 据 库 中 进 行验证以决定是否加入 Lk, 它可能需要重复地扫描事务数据库, 这里的验证过程是算法性能的一个瓶颈。当数据库很大的时候, 就会需要很大的 I/O 负载。 5.3 算法的改进 虽然 aprori 算法自身提供了一些改进, 但是仍然不能令人满 意, 所以人们提出了很多解决的方案, 旨在提高原算法的效率。涉 及 散 列 和 事 务 压 缩 的 变 形 可 以 用 来 使 得 过 程 变 得 更 有 效 。其 他 变 形涉及划分数据( 在每一部分上挖掘, 然后合并结果) 和数据选样 ( 在数据子集上挖掘) 。这些变形可以将数据扫描次数减少到两次
3 挖掘的种类
3.1 基于规则中处理的变量的类别, 关联规则可以 分 为 布 尔 型和数值型。布尔型关联规则处理的值都是离散的、种类化的, 它 显示了这些变量之间的关系。
数值型关联规则可以和多维关联或多层关联规则结合起来, 对数值型字段进行处理, 将其进行动态的分割, 或者直接对原始 的数据进行处理, 当然数值型关联规则也可以包含种类变量。
收稿日期: 2005- 11- 27 作者简介: 朱熹梅( 1981- ) , 女, 山东省郯城县人, 硕士, 研究方向: 数据挖掘。
36
电脑知识与技术
数据库与信息管理
电脑知识与技术
3.3 根据规则所涉及的抽象层。有多层关联规则和单层关联 规则之分。IBM 台式机=>Sony 打印机, 是一个细节数据上的单层 关 联 规 则 ; 台 式 机=>Sony 打 印 机 , 是 一 个 较 高 层 次 和 细 节 层 次 之 间的多层关联规则。
2.1 项集: 设 I={i1,i2, ……,im} 是 项 的 集 合 , 则 I 称 为 项 集 ( itemset) 。包含 K 个项的项集称为 K- 项集。
2.2 事务: 事务是项的集合。 2.3 事务集: 事务的集合称为事务集。每一个事务有一个标识 符, 称作 TID。 2.4 关联规则: 关联规则是形如 A=〉B 的蕴含式, 其中 A 包 含 于 I, B 包含于 I。并且 A∩B=Φ,规则 A=〉B 在事务集 D 中成立, 具 有支持度 s 其中 s 是 D 中事务包含 A∪B 的百 分 比 , 它 是 概 率 P (A∪B),比如, 某天一个商店有 500 笔交易, 共有 50 笔交易同 时 购 买了洗衣服和衣架, 则关联规则 ( 洗衣粉=) 衣架) 的支持度为
10%。A=〉B 在事务集 D 中具有置信度 c,它是条件概率 P(B|A), 比 如, 在买了洗衣粉的顾客中, 有 80%的人会买衣架, 那么关联规 则 ( 洗衣服=) 衣架) 的置信度为 80%。它们的运算公式如下:
support(A=>B)=P(A∪B) confidence(A=>B)=P(B|A) 2.5 频繁项集: 频繁项集为满足最小支持度的项集, 最 小 支 持 度是由领域专家或者用户设定的, 以获取对用户有用的规则, 摒 弃没有用的。 事实上, 规则, 需要设定最小支持度和最小置 信度两个阈值。
电脑知识与技术
数据库与信息管理
关联规则挖掘综述
朱喜梅 ( 同济大学软件学院, 上海 201804)
摘要: 关联规则挖掘则是数据挖掘中最重要的分支之一。它着重研究大量数据中项集之间有趣的关联或相关关系, 一个典型的例子 就是购物篮分析。该过程可以分析出哪些商品顾客倾向于在一起购买, 从而可以为商店经理提供比较好的商店布局方式。例如, 通过分 析, 我们发现, 顾客在购买了一台计算机以后, 一般都会去购买财务管理软件, 那么我们就可以把计算机和财务管理软件放在比较近的位 置, 以增加销售量。这里主要介绍了关联规则挖掘的经典算法, Apriori 算法, 同时给出了关联规则中的基本概念, 然后分析了算法的运行 效率, 提出了改进的方法。
例如: buys( “牛奶”) =〉buys( “面包”) ; 这是个布尔型的关联规 则。而性别( “女”) =〉工资( “5000”) 则是数值型的关联规则。
3.2 根据规则中涉及的数据维: 如果关联规则中得 项 每 个 都 只涉及一个维, 则称为单维关联规则。如果涉及两个或多个维, 则 称为多维关联规则。buys( “牛奶”) =〉buys( “面包”) 是一个单维的 关联规则, 因为它只涉及 一 个 维 , buys. 而 性 别 ( “女 ”) =〉 工 资 ( “5000”) 则是一个多维的关联规则, 因 为 它 涉 及 两 个 维 性 别 和 工 资。
或一次。
6 挖掘实例
关联规则的应用非常普遍, 因为其不受只能选择一个因变量 的限制, 能够在大型数据库中发现数据关系。 让我们来考虑一个 零售店系统的例子。假定某一个天销售表的数据如下表:
第一步: 扫描 D, 对每个候选计数。
第二步: 产生 1 频项集, 假定支持度计数为 3。
第三步: 有 L1 产生候 C2:
4 挖掘的过程
数据挖掘主要主要是从大量数据中挖掘出对用户有意义的 规则。它是一个两步的过程。
第一步: 找出所有的频繁项集。在这里会用到频繁项集的一 个性质。
性质 1: 频繁项集的所有非空子集都必须也是频繁的。即是 说 : 如 果{A}或 者{B}中 有 个 不 是 频 繁 的 , 则{AB}一 定 不 是 频 繁 的 。 利用这个性质, 我们可以减少计算中出现的候选项集的个数, 如 果一个项集有非频繁的子集, 我们可以直接把它删掉。
关键词: 数据挖掘; 关联规则; 频繁项集 中图分类号: TP 311 文献标识码: A 文章编号: 1009- 3044(2006)05- 0036- 02
The S ummarization of Mining As s ociation Rules ZHU Xi- mei
(Software College of Tongji University,Shanghai 201804,China) Abs tract:Mining association rules is the most important branch in Data Mining.It mainly discusses the funny or related relations between itemsets in a lot of data.A classic example is Market Basket Analysis,which can tell out what kinds of goods may be purchased together by our customers,thus it can offer the manager with better layout.For example,if we find that the customer tends to buy Budget Management Software after they buy a computer with analysis,then we can put computers next to Budget Management Software to increase sales.The paper mainly dis- cusses a classic arithmetic- the Apriori arithmetic.It also shows the basic concepts in mining association rules,along with the analysis of the effi- ciency of the arithmetic.It also points out how to improve the arithmetic. Key words :Data Mining;association rules;frequent itemset
1 引言
数据挖掘(Data Mining)简称 DM, 也叫数据开采, 数据采掘等, 是 从 大 量 的 、不 完 全 的 、有 噪 声 的 、模 糊 的 、随 机 的 实 际 应 用 数 据 中, 提取隐含在其中的、人们事先不知道的、但又是潜 在 有 用 的 信 息和知识的过程。
这 些 知 识 或 信 息 是 隐 含 的 、事 先 未 知 而 潜 在 有 用 的 , 提 取 的 知 识 表 示 为 概 念 (Concepts)、规 则 (Rules)、规 律 (Regularities), 模 式 (Patterns)等 形 式 。