CN104765847A - 基于保序特征和前序编码树的频繁闭项集挖掘方法 - Google Patents
基于保序特征和前序编码树的频繁闭项集挖掘方法 Download PDFInfo
- Publication number
- CN104765847A CN104765847A CN201510185654.0A CN201510185654A CN104765847A CN 104765847 A CN104765847 A CN 104765847A CN 201510185654 A CN201510185654 A CN 201510185654A CN 104765847 A CN104765847 A CN 104765847A
- Authority
- CN
- China
- Prior art keywords
- node
- tree
- item collection
- collection
- affairs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于保序特征和前序编码树的频繁闭项集挖掘方法,用于解决现有频繁闭项集挖掘方法中候选项集生成效率低的技术问题。技术方案是采用基于前序编码树结构的方法产生候选项集,使得生成的过程更简单清晰,对于数据的储存也更为方便;在候选目标过滤阶段,利用前序编码树的特性与保序特征同时对候选项集进行频繁性与闭合性的判断,在判断过程中,对于不满足频繁性的候选项集无需进行闭合性的判断,方法简单,提高了对频繁闭项集的挖掘效率。
Description
技术领域
本发明涉及一种频繁闭项集挖掘方法,特别是涉及一种基于保序特征和前序编码树的频繁闭项集挖掘方法。
背景技术
“Lucchese C,Orlando S,Perego R.DCI Closed:A Fast and Memory Efficient Algorithm toMine Frequent Closed Itemsets[C]//FIMI.2004.”文献中公开了一种频繁闭项集挖掘算法——DCI-Closed,在已知的频繁闭项集挖掘算法中,DCI-Closed算法是效率最高的,它提出了生成子保序的概念,并证明了每一个闭项集都存在惟一的保序生成子序列,从而实现了频繁项集构成的格的跳跃式搜索,提高了算法效率。为判断生成子是否保序,DCI-Closed算法引入了生成子“前序集(pre-set)”和“后序集(post-set)”的概念,对每个生成子,通过判断它的支持集与其前序集和后序集中每个元素的支持集的包含关系,来确定该生成子是否保序。但其候选项的生成过程十分原始低效,同时对于项集的频繁性判断过于繁琐。本发明利用前序编码树POC-Tree结构,同时通过项的节点集进行候选项的生成,对DCI-Closed算法进行优化,使其具有更高的挖掘效率,并且减少算法的计算复杂度,提高对频繁闭项集的挖掘效率。同时,近年来在对频繁闭项集的挖掘方面开展出了各类算法,主要有以下几类。
1999年,Pasquier等人提出了频繁闭项集的概念,并设计了基于Apriori算法的频繁闭项集挖掘算法A-Close算法,该算法采用自底向上、宽度优先的搜索策略,通过构造“生成子”集合,逐层求出所有频繁闭项集。尽管该算法利用了剪枝策略,可缩小搜索空间,但没有解决重复扫描数据库的问题。
以FP-Growth为基础,Pei、Wang等人先后提出了两种挖掘频繁闭项集的CLOSET算法和C LOSET+算法。CLOSET使用深度优先搜索策略,其困难是递归构造“条件FP-Tree”的CPU开销和存储开销很大。同时,CLOSET采用分割法处理大型数据集,检查局部频繁闭项集的全局闭性和频繁性的代价非常高。CLOSET+算法与CLOSET相似,但可根据不同的数据集来选择不同的策略,针对稀疏数据集提出了“向上检测”技术。FP-Close算法通过引入“FP-数组”,达到了更高的效率。
Zaki等人提出的CHARM算法对项集与事务标识集进行双向搜索,剪裁效率很高,其困难在于事务标识集存储开销非常大,且投影操作效率不高,对稠密或特别长的模式的数据集,CHARM算法的效率与可伸缩性都较差。CloseMiner是CHARM的变形,其主要思想是项集可进行不相交的聚类,每类都包含惟一个闭项集。
发明内容
为了克服现有频繁闭项集挖掘方法中候选项集生成效率低的不足,本发明提供一种基于保序特征和前序编码树的频繁闭项集挖掘方法。该方法采用基于前序编码树结构的方法产生候选项集,使得生成的过程更简单清晰,对于数据的储存也更为方便;在候选目标过滤阶段,利用前序编码树的特性与保序特征同时对候选项集进行频繁性与闭合性的判断,在判断过程中,对于不满足频繁性的候选项集无需进行闭合性的判断,方法简单,可以提高对频繁闭项集的挖掘效率。
本发明解决其技术问题所采用的技术方案是:一种基于保序特征和前序编码树的频繁闭项集挖掘方法,其特点是采用以下步骤:
(a)前序编码树POC-Tree:由NULL根节点和一组项集前缀子树组成;项集前缀子树的每个节点包括了五个特征:项集名,计数,孩子队列,前序,支持事务集。项集名表示该节点所表示的项集;计数表示所有能到达该节点的事务个数;孩子队列表示该节点的所有孩子;前序表示该节点的编号,支持事务集表示所有能到达该节点的事务集合。节点N的信息有前序、计数和支持事务集。具体生成步骤如下:
步骤一:扫描数据集,收集所有1-项集和它们的支持度计数,将支持度小于最小支持度的1-项集排除并按支持度降序排序,结果为频繁1-项集列表,同时将该频繁1-项集列表中每一个频繁1-项集的支持集记录在该频繁1-项集后面;
步骤二:第二次扫描数据集,创建前序编码树POC-Tree的根节点,以NULL标记它。对于数据集中每个事务,执行:排除支持度小于最小支持度的1-项集,然后按频繁1-项集的列表的次序排序。设排序后的事务中项列表为[p|P],其中,p是第一个元素,而P是剩余元素的列表。对每个事务创建一个分支,按事务中顺序链接到根节点下。当多个事务共享前缀时,沿共同前缀上的每个节点的计数增加1,为在前缀之后的项集创建节点和链接;
步骤三:对前序编码树POC-Tree进行深度优先的排序并记录编号,同时每节点记录所有能到达该节点的事务,得到完整的前序编码树POC-Tree。
(b)候选项集的生成:首先在数据集中找到所有频繁1-项集作为初始生成子,根据前序编码树POC-Tree及相关定义得到所有2-项集,再根据定义依次得到所有m-项集,其中,m为大于2的自然数。
(c)频繁性及闭合性的判断:相应支持度与最小支持度比较判断频繁性,同时,利用保序特性判断闭合性。
本发明的有益效果是:该方法采用基于前序编码树结构的方法产生候选项集,使得生成的过程更简单清晰,对于数据的储存也更为方便;在候选目标过滤阶段,利用前序编码树的特性与保序特征同时对候选项集进行频繁性与闭合性的判断,在判断过程中,对于不满足频繁性的候选项集无需进行闭合性的判断,方法简单,提高了对频繁闭项集的挖掘效率。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1为本发明方法中前序编码树构建的流程图。
图2为本发明方法中挖掘频繁闭项集的流程图。
图3为由给定数据集的构建的前序编码树。
图4为给定数据集中的1-项集的节点集。
图5为给定数据集中频繁闭2-项集的节点集。
图6为给定数据集中频繁闭3-项集的节点集。
具体实施方式
参照图1-6。本发明基于保序特征和前序编码树的频繁闭项集挖掘方法具体步骤如下:
首先介绍本发明方法使用的基本定义:
事务集与项集:数据集D=(TDB,ITS,R)。其中事务集TDB是数据的有限集合,项集ITS是项的有限集合,是对象与项的二元关系。二元组(t,i)∈R表示事务t∈TDB具有项集i∈ITS。
公共项集:公共项集映射为f:2TDB→2ITS,称f(T)是的公共项集。若项集由m个项集组成,则称I为m-项集,而公共项集则是事务子集中共同存在项集的集合。
支持集:投影映射g:2TDB→2ITS,称g(I)为项集的支持集。若则称项集I被事务(tidm,tm)所支持,g(I)是支持I的事务集合。
闭项集:2ITS上闭包算子h(I)=f(g(I))。是闭项集,当且仅当h(C)=C,即不存在与C支持度相等的C的超集。
支持度:的绝对支持度为sup(I)=|g(I)|,相对支持度为|g(I)|除以|TDB|的值。
频繁闭项集:闭项集C是频繁的,如果sup(C)≥min-sup,其中min-sup为最小支持度阈值。
生成子:项集G是闭项集C的生成子,若h(G)=C且不存在使得h(X)=C。
<关系:对于任意两个1-项集i1和i2,i2<i1当且仅当1-项集列表L中i1在i2的前面。简单的说,一个1-项集的集合表示为i1i2...im,则im<i(m-1)...<i1。
项的节点集:频繁项集i的节点集是所有在前序编码树POC-Tree中出现的关于频繁项集i节点的信息所构成的序列。
2-项集的节点集:存在任意两个1-项集i1和i2,1-项集i1的节点集是{(前序11,计数11:支持事务集11)...(前序1m,计数1m:支持事务集1m)},1-项集i2的节点集是{(前序21,计数21:支持事务集21)...(前序2m,计数2m:支持事务集2m)}。2-项集i1i2的节点集被表示为(i1i2),它是1-项集i2节点集的子集,则节点集(i1i2)={(前序m,计数m)|存在关于频繁项i1的节点N,N是对应(前序m,计数m)节点的祖先}。
2-项集的支持度计算:存在2-项集的节点集是{(前序1,计数1:支持事务集1)...(前序m,计数m:支持事务集m)},则2-项集的支持度=计数1+计数2+...+计数m。
m-项集的节点集:存在m-项集I=i1i2...im(i1...im∈1-项集列表L∧im<...<i2<i1),假设i-项集P1=p1p2...pi的节点集为节点集P1,(m-j+1)-项集P2=pjp(j+1)...pm的节点集为节点集P2,i-项集P1∩(m-j+1)-项集P2=m-项集I,则m-项集I的节点集为i-项集P1的节点集与(m-j+1)-项集P2的节点集的交集,m-项集I的节点集=i-项集P1的节点集∩(m-j+1)-项集P2的节点集。
m-项集的支持度计算:存在一个m-项集I,它的节点集是{(前序1,计数1:支持事务集1)…(前序m,计数m:支持事务集m)},则m-项集I的支持度等于计数1+计数2+...+计数m。
保序性:若C是一个闭项集,1-项集则生成子G=C∪i是保序的当且仅当h(G)=G或者
前序集:给定生成子G=C∪i,其中C是一个闭项集,1-项集定义生成子的前序集:
后序集:给定生成子G=C∪i,其中C是一个闭项集,1-项集定义生成子的后序集:
保序性的判断方法:给定生成子G=C∪i,其中C是一个闭项集,1-项集若j∈pre-set(G),使得则G不保序。
从http://fimi.ua.ac.be/data/网站上下载比利时某零售店零售市场内的购物篮真实数据。进行数据预处理后使其符合项集数据的一般格式,其中a-i分别表示不同编号的物品。从购物记录中挖掘频繁闭项集可以得知消费者的一般消费模式,其挖掘流程可分为以下两步:构造前序编码树POC-Tree和挖掘频繁闭项集。
1、构造前序编码树POC-Tree。
参照图1,根据表1的数据集与min-sup=2,得到图3的前序编码树POC-Tree与表2的频繁1-项集列表。
表1
表2
列表L | b、a、e、c、d、f |
2、挖掘频繁闭项集。
参照图2,第一步得到满足保序性的频繁1-项集b的节点集为{(1,4:1,2,4,5)},其中1是前序,4是支持度,1,2,4,5表示b出现的事务标号。b的前序集为空,所以b满足保序性;从表2可知,a的前序集为{b},则前序集中存在支持事务集与a的支持事务集有交集的成员,所以a不满足保序性;依次检验所有频繁1-项集的节点集;
第二步得到满足保序性的频繁2-项集,ba的节点集为{(3,3:1,2,5)},bc的节点集为{(2,1:4),(7,1:1)}。具体的生成步骤是:将b的节点集分别与b的后序频繁1-项集a、e、c、d、f结合:b的节点集中该节点(1,4:1,2,4,5)为a的节点集中节点(3,3:1,2,5)的祖先,故生成ba的节点集{(3,3:1,2,5)},其支持度为3,大于min-sup,同时ba的前序集为空,所以ba满足保序性;依次生成并检验所有2-项集;
第三步得到满足保序性的频繁3-项集,bae的节点集为{(4,2:2,5)},baf的节点集为{(6,1:5),(8,1:1)}。具体的生成步骤是:由第二步得到ba和bc的节点集,先由ba的节点集分别与be,bc,bd,bf的节点集求交集生成对应的3-项集,与be的节点集的交集为{(4,2:2,5)},即bae的节点集,其支持度为2,大于min-sup,同时bae的前序集为空,所以bae满足保序性;依次生成并检验所有3-项集;
第四步生成频繁4-项集,按照之前的项集生成方法,可以得知生成的4-项集均不满足保序性,故结束闭项集的生成过程;
最后,比较之前的结果,合并支持度相同且存在交集关系的项集,根据频繁闭项集的定义得到所有的频繁闭项集:{b,ba,be,bae,baf}。
Claims (1)
1.一种基于保序特征和前序编码树的频繁闭项集挖掘方法,其特征在于包括以下步骤:
(a)前序编码树POC-Tree:由NULL根节点和一组项集前缀子树组成;项集前缀子树的每个节点包括五个特征,即项集名、计数、孩子队列、前序和支持事务集;项集名表示该节点所表示的项集;计数表示所有能到达该节点的事务个数;孩子队列表示该节点的所有孩子;前序表示该节点的编号,支持事务集表示所有能到达该节点的事务集合;节点N的信息有前序、计数和支持事务集;具体生成步骤如下:
步骤一、扫描数据集,收集所有1-项集和它们的支持度计数,将支持度小于最小支持度的1-项集排除并按支持度降序排序,结果为频繁1-项集列表,同时将该频繁1-项集列表中每一个频繁1-项集的支持集记录在该频繁1-项集后面;
步骤二、第二次扫描数据集,创建前序编码树POC-Tree的根节点,以NULL标记它;对于数据集中每个事务,执行:排除支持度小于最小支持度的1-项集,然后按频繁1-项集的列表的次序排序;设排序后的事务中项列表为[p|P],其中,p是第一个元素,而P是剩余元素的列表;对每个事务创建一个分支,按事务中顺序链接到根节点下;当多个事务共享前缀时,沿共同前缀上的每个节点的计数增加1,为在前缀之后的项集创建节点和链接;
步骤三、对前序编码树POC-Tree进行深度优先的排序并记录编号,同时每节点记录所有能到达该节点的事务,得到完整的前序编码树POC-Tree;
(b)候选项集的生成:首先在数据集中找到所有频繁1-项集作为初始生成子,根据前序编码树POC-Tree及相关定义得到所有2-项集,再根据定义依次得到所有m-项集,其中,m为大于2的自然数;
(c)频繁性及闭合性的判断:相应支持度与最小支持度比较判断频繁性,同时,利用保序特性判断闭合性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510185654.0A CN104765847A (zh) | 2015-04-20 | 2015-04-20 | 基于保序特征和前序编码树的频繁闭项集挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510185654.0A CN104765847A (zh) | 2015-04-20 | 2015-04-20 | 基于保序特征和前序编码树的频繁闭项集挖掘方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104765847A true CN104765847A (zh) | 2015-07-08 |
Family
ID=53647675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510185654.0A Pending CN104765847A (zh) | 2015-04-20 | 2015-04-20 | 基于保序特征和前序编码树的频繁闭项集挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104765847A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657627A (zh) * | 2021-08-17 | 2021-11-16 | 国网江苏省电力有限公司信息通信分公司 | 电力通信网中缺陷单生成方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324712A (zh) * | 2013-06-19 | 2013-09-25 | 西北工业大学 | 一种无冗余情节规则的抽取方法 |
US20130332432A1 (en) * | 2012-06-12 | 2013-12-12 | International Business Machines Corporation | Closed itemset mining using difference update |
CN102622447B (zh) * | 2012-03-19 | 2014-03-05 | 南京大学 | 一种基于Hadoop的频繁闭项集挖掘方法 |
CN103995882A (zh) * | 2014-05-28 | 2014-08-20 | 南京大学 | 基于MapReduce的概率频繁项集挖掘方法 |
-
2015
- 2015-04-20 CN CN201510185654.0A patent/CN104765847A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622447B (zh) * | 2012-03-19 | 2014-03-05 | 南京大学 | 一种基于Hadoop的频繁闭项集挖掘方法 |
US20130332432A1 (en) * | 2012-06-12 | 2013-12-12 | International Business Machines Corporation | Closed itemset mining using difference update |
CN103324712A (zh) * | 2013-06-19 | 2013-09-25 | 西北工业大学 | 一种无冗余情节规则的抽取方法 |
CN103995882A (zh) * | 2014-05-28 | 2014-08-20 | 南京大学 | 基于MapReduce的概率频繁项集挖掘方法 |
Non-Patent Citations (1)
Title |
---|
宋威 等,: ""一种改进的频繁闭项集挖掘算法"", 《计算机研究与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657627A (zh) * | 2021-08-17 | 2021-11-16 | 国网江苏省电力有限公司信息通信分公司 | 电力通信网中缺陷单生成方法和系统 |
CN113657627B (zh) * | 2021-08-17 | 2024-01-12 | 国网江苏省电力有限公司信息通信分公司 | 电力通信网中缺陷单生成方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106709035B (zh) | 一种电力多维全景数据的预处理系统 | |
Liao et al. | Location-based activity recognition | |
CN104462190A (zh) | 一种基于海量空间轨迹挖掘的在线的位置预测方法 | |
CN103729478B (zh) | 基于MapReduce的LBS兴趣点发现方法 | |
CN104462592B (zh) | 基于不确定语义的社交网用户行为关系推演系统及方法 | |
CN104268271A (zh) | 一种兴趣和网络结构双内聚的社交网络社区发现方法 | |
CN105808766A (zh) | 一种基于事务项约束扩展的多层关联规则挖掘方法 | |
CN106326637A (zh) | 一种基于局部有效路径度的链路预测方法 | |
CN109582714A (zh) | 一种基于时间衰减关联的政务事项数据处理方法 | |
Ma et al. | Decomposition‐based multiobjective evolutionary algorithm for community detection in dynamic social networks | |
CN113779169B (zh) | 时空数据流模型自增强方法 | |
CN114036405A (zh) | 一种基于图卷积网络的社交推荐方法与系统 | |
CN104850577A (zh) | 一种基于有序复合树结构的数据流最大频繁项集挖掘方法 | |
CN108182382A (zh) | 基于图相似的行为识别方法及系统 | |
CN104731887B (zh) | 一种协同过滤中的用户相似度度量方法 | |
CN104462329B (zh) | 一种适用于多样性环境的业务流程挖掘方法 | |
CN107908665A (zh) | 一种有向无环图电网企业频繁节点挖掘方法及挖掘系统 | |
CN104765847A (zh) | 基于保序特征和前序编码树的频繁闭项集挖掘方法 | |
CN111581534B (zh) | 一种基于立场一致的谣言传播树结构优化方法 | |
Ohara et al. | Maximizing network performance based on group centrality by creating most effective k-links | |
Nair et al. | Improvised Apriori with frequent subgraph tree for extracting frequent subgraphs | |
CN105653686A (zh) | 一种域名网址活跃度统计方法及系统 | |
Singh et al. | High utility itemsets mining with negative utility value: A survey | |
CN114048328B (zh) | 基于转换假设和消息传递的知识图谱链接预测方法及系统 | |
CN102955860B (zh) | 基于模式图的关键字查询改进方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150708 |