Apriori算法的改进与分析
apriori算法实验报告

apriori算法实验报告Apriori 算法实验报告一、实验背景随着信息技术的快速发展,数据量呈现爆炸式增长。
如何从海量数据中挖掘出有价值的信息成为了一个重要的研究课题。
关联规则挖掘作为数据挖掘中的一个重要分支,能够发现数据中项集之间的关联关系。
Apriori 算法是关联规则挖掘中最经典、最具影响力的算法之一,它在商业、医疗、金融等领域有着广泛的应用。
二、实验目的本次实验的主要目的是深入理解和掌握 Apriori 算法的原理和实现过程,并通过实际数据进行实验,验证算法的有效性和性能,同时分析算法的优缺点,为实际应用提供参考。
三、实验原理Apriori 算法基于频繁项集的先验知识,通过逐层搜索的方式找出数据集中的频繁项集,进而生成关联规则。
其核心思想包括两个方面:一是如果一个项集是频繁的,那么它的所有子集也一定是频繁的;二是如果一个项集是非频繁的,那么它的所有超集也一定是非频繁的。
算法的实现过程主要包括以下步骤:1、首先,扫描数据集,统计每个项的出现次数,得到候选 1 项集的支持度。
根据设定的最小支持度阈值,筛选出频繁 1 项集。
2、然后,基于频繁 1 项集,通过自连接生成候选 2 项集,再次扫描数据集计算候选 2 项集的支持度,筛选出频繁 2 项集。
3、依此类推,不断通过自连接和剪枝操作生成更高阶的候选项集,并计算其支持度,筛选出频繁项集,直到没有新的频繁项集产生为止。
四、实验环境本次实验使用的编程语言为 Python,主要使用了`pandas`和`mlxtend`库来进行数据处理和算法实现。
开发环境:Jupyter Notebook操作系统:Windows 10五、实验数据实验数据采用了一个超市购物数据集,其中包含了顾客的购物记录,每条记录表示一位顾客购买的商品列表。
六、实验步骤1、数据预处理读取数据文件,将数据转换为适合算法处理的格式。
对数据进行清洗和整理,去除噪声和异常值。
2、算法实现定义计算支持度和置信度的函数。
Apriori算法的研究与改进

建两 个支 持度 矩 阵分别 挖掘频 繁 二项集 和最 大频 繁
项集 , 其时 间和 空 间代 价 较 大 ; 献 I ]在 由频 繁 k 文 - 6 项 集 连接 生成候 选 k+ 1项 集 时效 率较 低 且会 生 成 错误 频繁 项 。 文在 减少 扫描数 据 库次数 的基 础上 , 本
Ve . 0 No 3 12 .
S p. 201 e 1
21 0 1年 9月
I I1 . 9 9ii n 1 7—6 5 2 1 . 3 0 6 N) :0 3 6 /.s . 6 26 8 . 0 1 0 . 0 s
A roi 法 的研 究 与 改 进 p ir 算
陈 宜荣
( 徐州经 贸高等职业学校 信息系 , 江苏 徐州 2 10 ) 2 0 4
摘
要 : 绍 关联规 则挖 掘 中的 经典 算 法—— Ap ir 算 法 的关键 思 想 。针 对 传 统 Ap ir 算 法 效 介 r i o r i o
率上 的不足 , 出改进 Apir 算 法 。该 算 法通 过 构 造辅 助表 , 少访 问表 中 的无 效 记 录 , 而 减 提 r i o 减 从 少每 次访 问数据 库 的次数 , 好地提 高 了效 率 。 实验 结果 表 明 , 较 改进 后 的算 法具有 较好 的有 效性 。 关 键词 : r r 算 法 ; Ap i i o 改进 ; 助表 ; 辅 仿真
t g f Ap i r a g rt m ,o r a g rt m e e a e i a l s t v i s l s a a n e u e a e o ro i l o ih u l o ih g n r t s ad t b e o a o d u e e s d t ,a d d d c s t e t s o a a a e v stn h i me fd t b s iii g,S ti o e e fce t c mp r d wih t e ta ii n lo e Ex e i O i s m r fii n o a e t h r d t a n . o p r — me trs l s o h tt en w l o i m u p ro mst e f r e n ,a d g t o d p a t ai . n e ut h ws t a h e ag r h o t e r h o m ro e n e sa g o r ci l y t f c t
Apriori算法的改进及实例

Apriori算法的改进及实例Apriori算法是数据挖掘中常用的一种频繁项集挖掘算法,它可以用来发现数据集中频繁出现的项集,从而为关联规则挖掘提供支持。
Apriori算法在处理大规模数据集时存在效率低下的问题。
对Apriori算法进行改进是一项重要的工作,本文将介绍一些Apriori算法的改进方法以及相关的实例应用。
一、改进方法1. 基于FP树的改进FP树(Frequent Pattern tree)是一种用于高效挖掘频繁项集的数据结构,它可以帮助减少遍历数据集的次数,从而提高挖掘效率。
基于FP树的改进主要包括两个步骤:首先构建FP树,然后通过挖掘FP树来发现频繁项集。
FP树的构建过程包括以下几个步骤:首先扫描数据集,统计每个项的支持度,并按支持度排序;然后根据排序后的项集构建FP树的头指针表和FP树;最后根据FP树和头指针表来挖掘频繁项集。
基于FP树的改进方法可以减少数据集的遍历次数,从而提高挖掘效率。
FP树的数据结构可以更快地发现频繁项集,从而进一步提高算法的效率。
2. 基于集合的预处理在进行频繁项集挖掘之前,可以先对数据集进行一些预处理操作,以减少数据集的规模。
预处理过程可以包括去除低支持度的项,合并相似的项,转换数据格式等操作。
通过预处理,可以减少不必要的计算,从而提高算法的效率。
针对大规模数据集的频繁项集挖掘问题,可以采用并行计算的方法来提高算法的效率。
通过并行计算,可以同时处理多个数据块,从而减少算法的运行时间。
二、实例应用下面我们将通过一个实例来演示Apriori算法的改进及其实际应用。
假设我们有一个交易数据集,其中包括多个交易记录,每条记录表示一次购买行为,包括多个商品。
我们的目标是挖掘出频繁出现的商品组合,以及它们之间的关联规则。
通过以上改进方法的应用,我们可以更高效地挖掘频繁项集,并发现商品之间的关联规则,从而为商家提供更准确的销售策略,为消费者提供更个性化的购物推荐。
Apriori算法是一种常用的频繁项集挖掘算法,但在处理大规模数据集时存在效率低下的问题。
Apriori算法的改进及实例

Apriori算法的改进及实例【摘要】随着数据规模的不断增大,传统的Apriori算法在处理大规模数据集时性能较低。
为了解决这一问题,研究者们提出了多种改进策略。
本文针对Apriori算法的改进及实例进行了研究和探讨。
首先介绍了使用FP-growth算法替代Apriori算法的改进方法,其能够显著提高算法的效率。
其次讨论了剪枝策略的优化,通过精细化的剪枝方法可以减少计算时间。
对并行化处理进行了探讨,使得算法能够更好地应对大规模数据集。
通过实例分析,展示了基于FP-growth算法的关联规则挖掘和优化的剪枝策略在市场篮分析中的应用。
结论部分指出了不同场景下的改进策略对提高算法效率和精度的重要意义。
通过这些改进措施,Apriori算法在处理大规模数据集时将得到更好的应用和推广。
【关键词】关键词:Apriori算法、FP-growth算法、剪枝策略、并行化处理、关联规则挖掘、市场篮分析、大规模数据集、效率、精度1. 引言1.1 Apriori算法的改进及实例Apriori算法是一种经典的关联规则挖掘算法,它通过逐层扫描数据集来发现频繁项集,并基于频繁项集生成关联规则。
随着数据规模的不断增大,Apriori算法在处理大规模数据集时面临着一些效率和性能上的挑战。
为了克服这些挑战,研究者们提出了许多针对Apriori算法的改进方法。
一种常见的改进方法是使用FP-growth算法来替代Apriori算法。
FP-growth算法利用树结构存储数据集信息,减少了对数据集的多次扫描,从而提高了算法的效率。
剪枝策略的优化也是改进Apriori算法的一个重要方向。
通过优化剪枝策略,可以减少频繁项集的生成数量,进而提升算法的性能。
针对多核处理器的并行化处理也是一种改进Apriori算法的方法。
通过将数据集分割成更小的子集,可以实现并行处理,从而加快算法的运行速度。
在接下来的实例部分,我们将分别介绍基于FP-growth算法的关联规则挖掘实例以及优化的剪枝策略在市场篮分析中的应用实例,展示这些改进方法在实际应用中的效果和优势。
Apriori算法改进在总评分析中的研究

Apriori算法改进在总评分析中的研究摘要:随着计算机与数据库技术的发展,数据信息量不断海增,而从这些数据中得到有用的知识,促使数据挖掘技术得到快速发展和应用。
本文先后介绍关联规则、挖掘模、Apriori算法,最后以高校学生综合信息为原始数据,验证改进的Apriori算法的有效性,以分析获取学生行为相关预测性信息。
关键词:数据挖掘Apriori算法关联规则1、引言在高校学生管理中,数据信息的不断海量增长在丰富信息的同时,也为学生信息化建设提出了管理与使用等方面的新挑战。
如何从海量数据信息中寻找隐藏知识,指导、优化教学管理,是本文探讨研究的重点。
2、关联规则与Apriori算法数据挖掘(Data Mining,DM),是指从给定目标数据中分析提取知识[1,2,3,4],发现潜藏在数据背后的知识,方便反映不同数据对象之间的关联。
关联规则挖掘是关联知识发现的最常用方法,它挖掘发现大量数据中项集之间有趣的关联或相关联系。
数据挖掘中关联规则经典挖掘算法Agrawal等提出的Apriori及改进算法[2,3,4,5,6]。
Apriori算法及改进[5,6,7]Apriori算法是一种挖掘布尔关联规则频繁项集的算法。
该算法可能产生大量的候选集,以及可能需要重复扫描数据库,这是Apriori算法的两大缺点[1,2,3,4]。
由于当一个事务中不包含长度为k的频繁项集时,则必然不包含长度为k+1-频繁项集;而任意一个k-项集的支持度与规模小于它的事务无关。
所以,在生成k-候选频繁项集时,就不用再扫描字段长度小于k的记录,以便减少扫描的数据量。
那么,我们可以另建一张辅助表F(以矩阵形式存储),用于存储这些信息,包含该记录的编号和它的字段长度。
在随后的过程中,及时删除其中不可能出现在候选项集中的记录,即字段长度不大于将要生成的k-频繁项集k值,而且也不被包含在频繁项集中的记录。
在每次的扫描时,只扫描辅助表中存在的记录,不需要每条记录都扫描。
关联规则Apriori算法的研究和改进

作者简介:王晓辉 (1983—),女,山东烟台人,硕士研究生,讲师。研究方向:大数据挖掘。
— 71 —
算法语言
信息与电脑 China Computer & Communication
2019 年第 5 期
耗了大量时间,算法效率随着数据集的不断增加逐而减小, 影响了算法效率。本文提出的矩阵算法可以在一定条件下弥 补此缺点,减少扫描数据库次数。通过比较发现,与原始算 法相比,本文提出的基于矩阵的算法在程序运行过程中只需 循环一次数据库 D,就可以根据得出的矩阵计算出所需要的 频繁 1、2 项集,缩短了时间。
数据库中有 9 个事务,D=9,数据库顺序按照字典顺序 排列,设定支持度为 2,置信度为 2/9=22%。Apriori 算法主 要是为了从所提供的数据库中,发现数据集合中项与项之间 符合支持度的强关联规则关系 [3]。虽然原始 Apriori 算法可以 实现,但是随着大数据时代的到来,算法需要计算的数据量 越来越大,且原始算法在生成第二数据集方面非常复杂,消
2019 年第 5 期
信息与电脑 China Computer & Communication
关联规则 Apriori 算法的研究和改进
算法语言
ห้องสมุดไป่ตู้
王晓辉 周雪芳 刘国新 (青岛黄海学院,山东 青岛 266427)
摘 要:随着大数据时代的到来,数据挖掘技术成为了信息界的主要关注方向,但从大量数据中提取有价值的内容成为了难题。 随着数据量的逐渐增加,以往的数据挖掘方法已不再适应当前大数据环境下的大数据挖掘。基于此,不断研究和改进 Apriori 算 法的主要目的是使其能适应当前环境下的数据挖掘、存储和计算,使繁琐的数据挖掘过程变得简单明了,提高挖掘效率。
Apriori算法的改进及实例

Apriori算法的改进及实例Apriori算法是一种用于挖掘频繁项集的经典算法,它通过生成候选项集和剪枝的方式来减少搜索空间,从而高效地找到频繁项集。
随着数据规模的不断增大,Apriori算法的效率和性能也受到了挑战。
研究人员们提出了许多改进的方法,以提高Apriori算法的效率和性能。
本文将介绍一些Apriori算法的改进和实例。
1. Apriori算法改进之一:FP-growth算法FP-growth算法是一种基于树结构的频繁项集挖掘算法,它通过构建一棵FP树(频繁模式树)来表示数据集,从而避免了生成候选项集和多次扫描数据集的过程。
FP-growth算法的思想是先构建出数据集的FP树,然后利用FP树来挖掘频繁项集,从而避免了Apriori算法中生成候选项集的过程,大大提高了算法的效率。
下面是一个简单的FP-growth算法的实例:假设有如下的数据集:{1, 2, 3, 4},{1, 2, 4},{1, 2},{2, 3, 4},{2, 3},{3, 4},{2, 4}首先构建数据集的FP树:1) 第一次扫描数据集,统计每个项的支持度,得到频繁1项集{1, 2, 3, 4}和支持度{4, 7, 4, 6};2) 对频繁1项集根据支持度进行排序{4, 7, 6, 4},得到频繁1项集的顺序{3, 1, 4, 2};3) 第二次扫描数据集,创建FP树;4) 根据数据集创建FP树如下图所示:2/| \1 3 4| |4 4FP树的根节点是空集,根据第一次扫描数据集得到频繁1项集的顺序,依次插入树中。
接下来利用FP树来挖掘频繁项集:1) 首先从FP树的叶子节点开始,对于每一个项头表(item header table)中的项,按照条件模式基的方式来获取频繁项集;2) 对于每一个项头表中的项,从叶子节点到根节点回溯,得到条件模式基;3) 对于每一个条件模式基,利用条件FP树来获取频繁项集;4) 依次获取频繁项集{1, 2, 3, 4}、{2, 3, 4}、{2, 4}。
Apriori改进算法讲解和实现

链接和修剪
• 其中, apriori- gen 是以频繁(k- 1)- 项目序列集Lk- 1 为自变量的候 选集生成函数。该函数返回包含所有频繁k- 项目集的超集, 分 链接和修剪两步执行: 第1 步:链接(join) • Procedure apriori_gen(Lk- 1:frequent(k- 1)- itemsets; minsup) • 1) for each itemset l1∈Lk- 1 • 2) for each itemset l2∈Lk- 1 L • 3) if ((l1[1]=l2[1])(l1[2]=l2[2])∧…∧(l1[k- 2]=l2[k- 2])∧(l1[k- 1]≠l2[k- 1])then { • 4) c=l1∪l2;//连接, 产生候选集 • 5) if has_infrequent_subset(c,Lk- 1) then • 6) delete c;//修剪, 去掉无用的候选项 • 7) else add c to Ck; • 8) } • 9) return Ck;
定义和性质
• 根据上述定义,可以这样描述Apriori 算法:Apriori 算法使用逐 层搜索的迭代方法来产生频繁项集,设有频繁k-项集L k,通过 Galois连接产生候选k + 1 项集Ck+1,再通过扫描数据集产生频繁 k + 1 项集L k+1,最后由产生的频繁项目集产生关联规则。 • 性质1 :(Apriori 性质)频繁项目集的所有非空子集都必须也是频 繁的。 • 证明(用反证法) :略。 • 推论1 :一个非频繁项目集的任一超集必定也是非频繁的。 • 证明:根据定义若有k-1 项集Ik -1 ,不满足最小支持度阈值minsup ,即P( Ik-1) < min-sup ,则称Ik-1 为非频繁的。若将任意一项 (集) A 添加到Ik - 1 中,则必有P( Ik - 1∪ A) < P( Ik - 1) < min- sup,即Ik - 1 的任一超集( Ik - 1 ∪A) 是非频繁的。得证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) if s Lk-1 return true;
(3) else return false
4 性能比较与分析
4.1 实验准备
下面针对一个特例-某超市的销售历史数据进
行关联分析。算法运行的操作系统环境为 Win-
dows 2003 Server,后台数据库为 SQL Sever 2000
企业版,程序采用面向对象语言 Java 编制。硬件环
境:CPU 为迅驰二代 1.7G,内存 512M,硬盘 40G。 实验是在我们的数据挖掘平台 BMiner 上进
行的,搭建的数据挖掘实验模型如图 1 所示。
图 1 数据挖掘实验模型 该问题涉及的主要数据存储在关系数据库的 表中。该表包括 18 个属性项,共 50000 条记录,我 们选取了其中 11 个属性项进行实验,如图 2 所示。
图 2 实验选择 11 个属性项 4.2 结果分析 为了验证优化算法的性能,我们针对同样的数 据库,在相同的硬件和软件环境下,首先,在不同的 支持度下,两个算法进行时间比较,结果如图 3 所 示。从图 3 可以看出,随着支持度的减小,BApriori 算法的执行时间增加幅度比 Apriori 算法的执行时 间要小,BApriori 算法在效率上的优势。接着,在支 持度相同、记录数不同的条件下,二种算法进行时 间效率比较,结果见图 4。从上面的测试结果可知, 二种算法的运行时间随着数据记录数的增大而变 大。但随着记录数的不断增加,BApriori 算法在时 间上的优势也不断扩大。从而证明了这种优化算法
(1)for each items p∈Dk-1{
(2) if |items|< k delete items;
(3) if items 不包含 Lk-1 delete items;
(4)}
(5)return Dk-1
procedure has_infrequent_subset(c,Lk-1)
(1)for each (k-1)-subset s of c
Ck :D 中 k-候选项集
Lk :D 中 k-频繁项集
Dk :第 k 次删除后的事务数据库
Lk [i]:k-频繁项集的第 i 项
处理:
(1)L1={large1-itemsets};
(2)for (k=2;Lk-1≠ ;k++){
(3)Ck=Apriori-gen (Lk-1,min_sup);//新的候选项
2 数字电视发射机与模拟电视发射机的比较 2.1 激励器 激励器主要包括音视频处理、调制、本振、变频 和 RF 小功率放大器,它是电视发射机的核心。发射 机的绝大部分技术指标由激励器决定。模拟电视发 射机激励器和数字电视发射机的大部分不能通用。 如果模拟电视发射机激励器采用数字音视频 处理,调制采用软件无线电方式在基带部分实现, 那么它与数字电视发射机激励器的共同部分可以 增加,但不能完全共用。 2.2 功率放大器 功率放大器决定了发射机的功率输出能力,是 发射机中成本最高的部分。模拟电视发射机有分放 式和合放式之分。分放式指图像载波信号和伴音载 波信号经不同的功率放大器分别放大,合放式指图 像载波信号和伴音载波信号用同一个功率放大器 放大。而数字电视发射机不可能采用分放式,因为 数字音视频信号总是复合在一起进行调制解调。因 此,要想使模拟电视发射机的功率放大器直接用于 数字电视发射机,就必须采用合放式。 2.3 RF 输出单元 RF 输出单元主要指输出滤波器。它决定发射 机的无用发射性能。模拟电视发射机的主要能量集 中在视频载波、伴音载波和色度副载波这些离散频
似地可证对于坌c∈Cp(p>k),有 c埭T0,故 Lp 不变。
3 改进算法的描述
BApriori 算法在发现频繁项目集和根据所获
得的频繁项目集精减事务数据库两方面进行了优
化后,下面是该算法的完整描述。
输入:事务数据库 D;最小支持度阈值 minsup,
待挖掘的项 I1,I2,…,In
输出:D 中的频繁项集 L
中国新技术新产品
2009 NO.5 China New Technologies and Products
Apriori 算法的改进与分析
信息技术
包奇峰 (浙江工业大学信息学院,浙江 杭州 310014)
摘 要:本文首先对 Apriori 算法及其优化进行了总结,接着给出一种优化算法 BApriori,最后以某超市交易数据作为挖掘对象,证明了优化 算法的有效性。 关键词: Apriori 算法;优化;评价;分析
推出的 VHF OPTIMUM 和 UHF ULTIMATE 系列 发射机就已采用此种技术。
1.5 无线连接、GUI 界面、故障自我诊断和远程 遥控
在新设计的数字电视发射机中,功率放大器、 电源和 RF 合成器省去电缆而采用插、拔的方式直 接连接在一起。这样使整机结构更加紧凑、维护更 加方便。微处理器的应用,能够监控发射机的状态 和提供每个组件的有用信息。LCD 的应用提供了直 观友好的图形用户接口(GUI)使得用户操作更加容 易,用户可以很直观的察看设备的运行状态。先进 的故障自我诊断系统和 DAP 技术使得用户容易查 找故障部位,加快设备的维护、维修进度。远程遥控 功能使得用户可通过因特网对设备进行监控。
(4)
c=p q;//两个项集联接
(5)
if has_infrequent_subset(c,Lk-1)
(6) delete c;//剪枝
(7) else add c to Ck;
(8) }
(9)Dk = apriori-del(Dk-1, Lk-1)
(10)return Ck
procedure apriori-del(Dk-1, Lk-1)
图 3 不同支持度下运行时间比较
图 4 不同记录数度下运行时间比较
- 10 - 中国新技术新产品信息技术Fra bibliotekChina
New
2009 NO.5 Technologies and Products
中国新技术新产品
数字电视发射机的特点及与模拟电视发射机的比较
赫 健 靖亚兴
(海伦市广播电视局,黑龙江 海伦 152300 )
摘 要:面对着 GPS 跟踪、无线互联网、移动通信、PDP(等离子)显示和电视演播室技术的迅猛发展,数字电视发射技术显得慢了一些。但是 近几年,受数字电视市场的推动,英国、美国、西班牙、加拿大等国家数字电视业务的开播和全球掀起的数字电视热潮,电视发射技术方面也 取得了较大进步。 关 键 词 :数字电视;发射机
1 引言 1.1 Apriori 算法基本思想 Apriori 算法[1]的核心思想是采用逐层递推的方 法, 首先扫描数据库, 产生 1 频繁项目集;再由 apriori_gen 函数利用 Lk-1,中的成员连接、剪枝后, 产生候选项目集 Ck, 通过扫描事务数据库计算每 个候选项目集的支持度,大于最小支持度的项目集 并入 k 频繁项目集 Lk 中;直到不再产生候选项目 集结束;最后合并全部频繁项目集。 1.2 Apriori 算法优化研究现状 1995 年 Park 等人提出的基于 hash 的算法- Dynamic Hashing and Pruning(DHP)算法[2][3]。 该算 法通过引入 hash 技术来提高生成频繁 2 项集的效 率。同年 Savasere 等人提出的基于划分的算法[4]。该 算法的优点在于只需两次扫描整个事务数据库从 而提高了算法的效率。1996 年 Toivonen 提出的基 于采样的算法[5]。该算法显著提高了算法的运行效 率, 但有时会使产生的结果不精确。另外还有 Brin 等人提出的动态项集计数算法 [6]; 关联规则的矩阵 算法[7]等等。 2 改进的基本思想 在频繁项目集生成的步骤中,在计算强项集的 同时记录包含在强项集合中相应事物的 TID,每次 计算 Ck 支持度时对不包含在 Ck 中的各事务直接 删除,不必进行支持度计算,同时删除不包含 Ck 中 的任何项集的事务,在以后的支持度计算中不加考 虑,这样计算候选集支持度所涉及的记录数目将不 断减小,提高了整个算法的效率。在所有改进算法 中,比较重要的一种是基于以下定理: 定理 1 Ck 中任一项集必是 Ck-1 中某一项集的 超集。 定理 2 如果某一事务不包含 Ck-1 中的任何项 集,那么删除该事务对 Lj (j≥k)的计算没有影响。 然而我们看到上述算法还可以进一步优化。因 为对定理 1 和定理 2 进行扩展,有如下定理成立: 定理 3 Ck 中任一项集必是 Ck-1 中某 k 个项集的 超集。 证明:由 Lk-1={c∈Ck-1|Support(c)≥minsup},可得 Lk-1哿Ck-1。又根据 Ck 的构造可知,对于任意 c∈Ck, 从 c 中去掉任一项所得到的真子集必在 Lk-1 中,而 c 共有 k 个不同的真子集(均为 k-1 个元素),分别记 为 p1,p2,…, pk,则有 p1,p2,…, pk∈Lk-1。又 Lk-1∈Ck-1,所以 p1,p2,…, pk∈Ck-1,故对于坌c∈Ck,p1,p2,…, pk∈Ck-1,使 得 p1,p2,…, pk哿c,因此定理 3 成立。 定理 4 如果某一事务包含 Ck-1 中的项集个数 小于 k,那么删除该事务对 Lj (j≥k)的计算没有影 响。 证明:设某一事务 T0,由定理 3 可知,如果 c∈ Ck,c∈T0,则 p1,p2,…,pk∈Ck-1,使得 p1,p2,…, pk哿c,所以 p1,p2,…, pk哿T0。因为逆否命题等价于原命题,所以 如果对任意 p1,p2,…, pk∈Ck-1,不能满足 p1,p2,…, pk哿 T0,则对 c∈Ck,c埭T0,有{T|T∈D and T勐c}={T|T∈(DT0) and T勐c},故从 D 中删除 T0,Support(c)不变。又因 为 Lk={c∈Ck| Support(c)≥minsup},所以 Lk 不变。类
(11)return L=∪kLk