CN102214248A - 一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法 - Google Patents
一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法 Download PDFInfo
- Publication number
- CN102214248A CN102214248A CN2011102074275A CN201110207427A CN102214248A CN 102214248 A CN102214248 A CN 102214248A CN 2011102074275 A CN2011102074275 A CN 2011102074275A CN 201110207427 A CN201110207427 A CN 201110207427A CN 102214248 A CN102214248 A CN 102214248A
- Authority
- CN
- China
- Prior art keywords
- node
- iset
- tree
- fpt
- project
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明“一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法”涉及智能化信息处理领域,在海量数据挖掘特别是网络信息搜索与知识发现中有广泛应用前景。针对现有多层算法只是简单地扩展单层算法因而在挖掘海量数据时存在时间与空间开销瓶颈的问题,本发明提出了三项全新的技术。一是层次标签技术,能以最少的额外开销将层次结构信息集成到多种数据表示方式中,解决空间开销瓶颈。二是扩展型虚拟投影方法,避免模式支持集的反复生成,空间利用率更高。三是用于组织多层模式的倒置集合枚举树及其剪裁技术,大大减少了频繁模式的搜索空间,从而解决运行时间瓶颈。本发明算法的时间效率比两个参照算法分别高近5倍和高1~3个数量级,并且空间开销最小。本发明算法所具有的高性能使得海量Web挖掘、多媒体挖掘、文本挖掘等各种应用成为可能。
Description
技术领域
本发明涉及智能化信息处理领域。本发明设计了一种能够以高空间可伸缩性和高时间效率发现跨越多个概念层次的频繁模式的算法,在海量数据挖掘特别是网络信息搜索与知识发现,包括Web挖掘、文本挖掘、多媒体挖掘中,有着广泛应用前景。
背景技术
在Web挖掘[8]、文本挖掘、多媒体挖掘[3]等各类数据挖掘应用中,频繁模式挖掘是最基本的任务。在海量数据中进行挖掘时,由于数据的稀疏性很难在较低或原始的概念层次上提取频繁模式,而最高概念层次的频繁模式又往往只是常识性知识。因此,发现跨越多个概念层次的频繁模式很有价值。然而,迄今为至的成果主要集中在单层频繁模式挖掘上。多层频繁模式挖掘没有得到足够重视,只有很少量成果,均是单层频繁模式挖掘算法[2][6]的简单扩展。
Srikant等[9]提出挖掘跨层模式的一组以Cumulate为代表的算法,Han等[5]提出了自顶向下逐层挖掘的一组算法ML-TnLn。这两组算法均以单层算法Apriori[2]为基础。Apriori[2]的缺陷是扫描数据库的次数正比于最大的模式长度,而在挖掘多层模式时恰恰会出现大量“长”模式,因而读硬盘I/O代价非常高。其次,挖掘过程中产生并暂存的候选模式的数量往往多得惊人。ML-TnLn[5]采取的逐层挖掘策略在一定程度上缓解了这些问题,但是组成模式的项目只能来自同一概念层次,大大限制了挖掘结果的有用性。此外,Cumulate[9]还需要将每个原始项目在概念层次上的所有祖先插入到数据记录中,进一步加剧了Apriori[2]原有的时间效率与空间可伸性的问题。
最近,Eavis等[4]以单层算法FPGrowth[6]为基础,提出FPM-cross等跨多层挖掘算法。FPM-cross[4]继承了FPGrowth[6]的缺陷,即在挖掘过程中需要产生大量的模式支持子库,维护这些模式支持子库需要大量计算时间和存貯空间。此外,FPM-cross[4]也需要将每个原始项目在概念层次上的所有祖先插入到相应原模式支持子库中,空间开销会快速膨胀。因此,FPM-cross[4]也面临效率与可伸性的挑战。
为克服以往算法的缺陷,本发明提出了以下三项全新技术,并设计了“一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法”。
第一项是层次标签技术。该技术使得单层模式支持子库的多种表示方法能够直接表达层次结构信息,从而克服由于层次结构引入导致的模式支持子库膨胀的问题。
第二项是扩展型虚拟投影方法,避免模式支持子库的反复生成,可有效解决空间开销的瓶颈问题。
第三项是倒置集合枚举树及其剪裁技术。倒置集合枚举树用于组织跨多层模式,其特有结构使得能够对搜索空间进行有效的剪裁,从而大大提高深度优先搜索跨多层频繁模式的时间效率。
参考文献:
[1]R.Agrawal,C.Aggarwal,and V.V.V.Prasad.A tree projection algorithm for generation of frequent itemsets.Journal of Parallel and Distributed Computing,2000,61:350-371.
[2]R.Agrawal and R.Srikant.Fast algorithms for mining association rules.In VLDB′94,Santiago,Chile,1994,pp.487-499.
[3]C.A.Bhatt and M.S.Kankanhalli.Multimedia data mining:state of the art and challenges.Multimedia Tools and Applications,2011,51(1):35-76.
[4]T.Eavis and X.Zheng.Multi-level Frequent Pattern Mining.Database Systems for Advanced Applications,Lecture Notes in Computer Science,2009,5463:369-383.
[5]J.Han and Y.Fu.Discovery of multiple-level association rules from large databases.In VLDB′95,Zurich,Switzerland,1995,pp.420-431.
[6]J.Han,J.Pei,and Y.Yin.Mining frequent patterns without candidate generation.In SIGMOD’00,Dallas,TX,2000,pp.1-12.
[7]J.Liu,Y.Pan,K.Wang,and J.Han.Mining frequent item sets by opportunistic projection.In SIGKDD’02,Alberta,Canada,2002,pp.229-238.
[8]J.-C.Ou,C.-H.Lee and M.-S.Chen.Efficient algorithms for incremental Web log mining with dynamic thresholds.The VLDB Journal,2008,17(4):827-845.
[9]R.Srikant and R.Agrawal.Mining generalized association rules.In VLDB′95,Zurich,Switzerland,1995,pp.407-419.
[10]Z.Zheng,R.Kohavi and L.Mason.Real World Performance of Association Rule Algorithms.In SIGKDD′01,San Francisco,California,2001,pp.401-06.
[11]http://www.almaden.ibm.com/cs/quest/syndata
发明内容
本发明的目的是设计一种能够以最节省的存貯空间和最快的速度在给定的事务数据库中发现跨越多个概念层次的频繁模式,实现在海量数据中的知识发现。
本发明“一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法”包括三项核心技术:A采用层次标签扩展的基于树的数据库压缩表示方法、B用于确定支持模式的数据库子库的扩展型虚拟投影方法、C组织频繁模式挖掘过程的倒置集合枚举树及其剪裁方法。本发明算法输入一个事务数据库D、一棵表示概念层次的树H、最小支持度阀值minsup,输出所有多层频繁模式。
本发明内容之一:
给定I={i1,i2,...,im}是所有项目的集合,H是一棵表示项目所属概念层次的树(即项目的is-a分类关系树)。树上每条边都是自上而下的有向边。如果有从p到c的边,则p是c的父亲,c是p的孩子。如果有从a到d的路径,则a是d的层次祖先,d是a的层次后代。给定D={t1,t2,...,tn}为数据库,即事务记录的集合。每个事务记录t是一个项目集,即通常t只包含概念层次树H上的叶结点,即原始项目。
A采用层次标签扩展的基于树的数据库压缩表示方法
首先,采用一种基于树的数据结构FP-tree[6]来表达D,得到基本型FP-tree。基本型FP-tree的核心是前缀树林,树林中每条从根到叶的路径表达一个或多个事务记录,路径上各结点标出了组成所表达事务的“项目”及事务记录个数的“计数”。
接着,采用层次信息标签来扩展FP-tree,为每个前缀树结点附加层次信息标签,以记录该结点项目的层次祖先中尚未被其它项目所表达的最高层次祖先的层次号,具体步骤如下。
A1令概念层次树H的根结点“层次号”域值为0,其他结点的层次号为其父亲结点的层次号+1;
A2自顶向下周游FP-tree前缀树林,对于当前访问的前缀树结点FPT_y,确定其层次标签如下:
A2.1令FPT_x为从根到达FPT_y之前的最后一个前缀树结点。
A2.2令HT_x和HT_y为概念层次树H上表示FPT_x和FPT_y所对应项目的结点。
A2.3沿着从HT_x到根的路径、从HT_y到根的路径向上行,确定两条路径的交点HT_z。
A2.4令HT_final为从HT_y上行到达交点HT_z之前的最后一个结点。
A2.5取FPT_y的层次标签为HT_final的层次号。
其次,将在数据库中出现次数<minsup(非频繁)的项目剔除如下:
A3对于各个FP-tree前缀树结点FPT_u,如果其对应的单个项目u非频繁(出现次数<minsup),则FPT_u的“项目”域应升级(替换)为FPT_u所代表的最近的并且是频繁(出现次数≥minsup)的层次祖先项目。
最后,FP-tree还有一个辅助部分,即头表。头表每个元素存放一个项目、该项目在数据库中出现的次数(支持数)、将该项目对应的前缀树结点穿线在一起的链表的头指针。扩展型FP-tree的头表直接借用概念层次树H来表示,具体步骤如下。
A4为概念层次树H的每个结点增添“支持数”域和“头指针”域,并分别初始化为0和空。
A5FP-tree前缀树结点除了原有的“项目”域、“计数”域、“层次标签”域外,增添“指针”域。
A6周游FP-tree前缀树林,对于当前访问的前缀树结点FPT_u,作如下处理:
A6.1令FPT_u的指针域取所表示项目u的对应头表元素的“头指针”域值。
A6.2令项目u的头表元素的“头指针”域取FPT_u。
A6.3令HT_u为项目u的头表元素所在概念层次树H的结点。
A6.4从HT_u出发向概念层次树根结点上行,当所访问概念层次树结点的“层次号”域值≥FPT_u的“层次标签”域值,为该概念层次树结点(也是一个头表素)的“支持数”域增加FPT_u的“计数”域值。
本发明内容之一的关键点是用层次标签的扩展型FP-tree避免了插入每个原始项目在概念层次上的所有祖先,同时准确地记录了层次信息。即扩展型FP-tree的前缀树结点数量与基本型FP-tree相同,避免了前缀树的膨胀,从而节省了存貯空间。
本发明内容之二:
模式X是概念层次树H上一部分项目组成的集合,要求X中的项目之间不存在层次祖先后代关系。模式X是模式Y的泛化(Y是X的专化),如果X中的每个项目是Y中的一个项目或其层次祖先项目。一个事务数据库记录t支持X,如果t及其所有组成项目的层次祖先的集合包含X,即X是t的泛化。TS(X)是所有支持X的事务记录组成的数据库子库(采用扩展型FP-tree表示),也称为模式支持子库。TS(X)中的事务记录数称为X的(绝对)支持度(support)。
B用于确定支持模式的数据库子库的扩展型虚拟投影方法
给定一个支持模式X的数据库子库TS(X)的扩展型FP-tree表示。支持模式Y=X∪{y}的数据库子库TS(Y)的扩展型FP-tree通过以下虚拟投影方法获得。其中,y应该是TS(X)中某个头表元素所对应的项目。
B1从模式X的支持子库TS(X)中界定出模式Y=X∪{y}的支持子库TS(Y)的前缀树林如下:
B1.1对于项目y所对应概念层次树结点HT_y的每个层次后代HT_z,执行
B1.1.1沿着HT_z“头指针”域所穿线的链表逐一访问所链FP-tree前缀树结点FPT_z
B1.1.2如果HT_y的层次号≥FPT_z的“层次标签”域值,
那么从FPT_z到根结点的路径也是TS(Y)前缀树林的一条路径,
B1.1.2.1将该路径上项目在TS(Y)头表中的结点的“计数”域和“指针”域分别置为0和空。
B2从TS(X)的头表中界定出TS(Y)的头表如下:
B2.1令TS(Y)头表由概念层次树H上按前序排列在HT_y之前、并且不是y之层次祖先的概念层次树结点组成。
B2.2将每个TS(Y)头表元素的“支持数”域和“头指针”域分别初始化为0和空。
B2.3从“步骤B1”所界定的每条前缀树路径起点FPT_z向根结点上行,对于所遇每个结点FPT_x,如果其项目在TS(Y)头表中,则执行
B2.3.1令HT_x为FPT_x的项目x所对应概念层次树结点。
B2.3.2如果FPT_x的“计数”域值为0,
那么令FPT_x的“指针”域取HT_x的“头指针”域值,HT_x的“头指针”域取FPT_x。
B2.3.3令FPT_x的“计数”域增加FPT_z的“计数”域值。
B2.3.4从HT_x出发向概念层次树根结点上行,当所访问概念层次树结点的“层次号”域值≥FPT_x的“层次标签”域值,为该概念层次树结点(也是一个头表素)的“支持数”域增加FPT_z的“计数”域值。
B3将y的层次祖先项目对应的TS(Y)头表元素的“支持数”域置为0,确保这些头表元素排除。
本发明内容之二的关键点是模式X的支持子库和模式Y=X∪{y}的支持子库共用同一存貯结构,从而节省了存貯空间。
本发明内容之三:
C组织频繁模式挖掘过程的倒置集合枚举树及其剪裁方法
构造倒置集合枚举树(即Invert Set Enumeration Tree,简称ISE-tree)如下:令每个结点ISET_u表示一个项目,记作ISET_u.item。从空的树根结点到ISET_u的所有项目的集合表示一个模式,记作ISET_u.pattern。结点ISET_u还记录ISET_u.pattern的支持度,也就是TS(ISET_u.pattern)中事务记录的个数,记作ISET_u.support。对于任意结点ISET_u,如果ISET_u.pattern是频繁的,即ISET_u.support≥minsup,则保留ISET_u并创建子女结点来代表按给定项目排序列在ISET_u.item之前并且不是ISET_u.item的层次祖先的项目。给定项目排序必须保证层次祖先项目排列在层次后代项目之前。ISET_u的子女结点代表项目的排列应与给定项目排序一致。构造过程按深度优先进行,并可以做以下剪裁。
C1对于任一个新结点ISET_v,在计算模式ISET_v.pattern的模式支持子库之前,可做以下剪裁:
C1.1随机抽取模式ISET_v.pattern的若干泛化集(或子集),对其中每个泛化集G进行以下测试
C1.1.1如果G没有被一个倒置集合枚举树结点表示,那么ISET_v.pattern是非频繁的,剪裁掉结点ISET_v。
C2如果ISET_v没有在“步骤C1”被剪裁掉,那么采用“B扩展型虚拟投影方法”确定TS(ISET_v.pattern)。
C3如果|TS(ISET_v.pattern)|<minsup,则ISET_v.pattern是非频繁的,剪裁掉结点ISET_v。否则令ISET_v.support取|TS(ISET_v.pattern)|。
本发明内容之三的关键点是ISE-tree的构造保证了泛化模式先于专化模式生成,从而能够进行剪裁。
附图说明
图1集成A层次标签扩展型FP-tree、B扩展型虚拟投影方法、C倒置集合枚举树的工作流程
图2事务数据库D
图3概念层次树H
图4基本型FP-tree的前缀树林
图5添加层次标签的前缀树林
图6剔除非频繁项目的前缀树林
图7集成了层次信息的扩展型FP-tree
图8多层频繁模式的倒置集合枚举树
图9扩展型虚拟投影得出的TS({f})
图10扩展型虚拟投影得出的TS({f,K})
具体实施方式
本发明“一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法”提出了三项全新技术。图1概括了集成这三项全新技术的技术路线。
下面结合附图和实例(给定图2所示事务数据库D、图3所示项目概念层次树H、最小支持度minsup=3),将技术方案分为两个过程做进一步描述。
过程一:采用层次标签扩展型FP-tree[6]、以集成的方式来表达事务数据库和概念层次信息。
过程一的具体步骤如下:
1.1RepresentDBbyFPtree:采用基本型FP-tree[6]表达事务数据库D。基本型FP-tree由前缀树林和头表两部分组成。其中,前缀树林表达原始的事务记录。一条从根到叶的路径表达一个或多个事务记录,路径上各结点标出了所表达的事务之组成项目及事务记录数。
图4所示是所创建的表达D的基本型FP-tree的前缀树林(不使用基本型FP-tree的头表),其中5条路径分别表示D的5个事务记录,t1,t2,t3,t4,t5。
1.2LabelingFPtreewithTaxonomicInfo:执行“发明内容步骤A1~A2”,为每个前缀树结点附加层次信息标签,以记录该结点项目的层次祖先中尚未被所在路径其它项目所表达的最高祖先的层次号。
图5所示是为每个结点附加层次信息标签后的前缀树林。其中,路径(b,1)-(c,1)-(d,1)-(x1)表示第1个事务记录t1。结点(b,1)的标签为0,因为它的最高祖先T的层次号是0。结点(c,1)的标签为2,因为它尚未表达的最高祖先是K,其层次号是2。尽管T和R也是也是c的祖先,但已经被结点(b,1)所表达。同理,结点(d,1)的标签就是d的层次号3,因为根据结点(c,1)的标签可知d的祖先都已经被表达。结点(x,1)的标签就是1,即它同时表示祖先M和Q。
1.3ReplacingInfrequentItemsWithFrequentTaxonomicParent:执行“发明内容步骤A3”,将在数据库中出现次数<minsup(非频繁)的项目替换成其最近的层次祖先项目。
图6所示为剔除非频繁项目(支持度<minsup=3)的前缀树林。第1路径中,a被替换成了E,因为a非频繁、而E是a最近的并且频繁的祖先;同理x被替换成了Q。第3路径中,y和z被直接删除,因为他们的最近频繁祖先Q已被f表达(后者的层次标签值为1,说明了这一事实)。同理,第4、5路径共同的前缀a被替换成E,b和g被从第4路径删除,g被从第5路径删除。
1.4BuildExtendedHeadTableUsingTaxonomy:执行“发明内容步骤A4~A6”,直接用剔除非频繁项目后的分类层次树H来表示头表。每个头表元素,也就是概念层次树的一个结点,存放一个项目、其支持数、以及穿线其同项目的前缀树结点组成的链表的头指针。
图7为过程一的结果,即层次标签扩展型FP-tree。头表元素[c,3]表达了层次叶结点c的支持数3,并且穿线前缀树第1、2、4路径上的结点(c,1)。头表元素[K,4]表达了结点K的支持数4,但是没有前缀树结点直接表达K,其支持数来自其层次后代项目c和d的相应前缀树结点。
过程二:在扩展型FP-tree中通过扩展型虚拟投影方法发现多层频繁模式。
挖掘多层频繁模式实质上就是构造倒置集合枚举树(ISE-tree)的过程。倒置集合枚举树不同与一般字典树[1],其特有结构保证泛化模式先于专化模式被枚举。构造倒置集合枚举树关键是确定支持每个树结点ISET_u所表示模式ISET_u.pattern的模式支持子库TS(ISET_u.pattern)。本过程所发现多层频繁模式的倒置集合枚举树如图8所示。具体步骤如下:
2.1ImposeOrderingOfItems:通过先序周游概念层次树H(图2),得项目排列次序为T,R,E,K,c,d,Q,J,f。
2.2InitializeRLtree:创建表示空模式的树根结点,其模式支持子库即为数据库D,而D的扩展型FP-tree表示如图7所示。
2.3GenerateChildren:对于任意结点ISET_u,如果ISET_u.pattern是频繁的,则创建ISET_u的子女结点来代表所有按给定项目排序列在ISET_u.item之前的项目,子女结点排列与其所代表的项目的排序一致。由于模式之中项目之间不存在层次祖先~后代关系,所以ISET_u的子女结点代表的项目不包括ISET_u.item的层次祖先项目。按照此构造方法,在任意从根起始路径上,项目排列次序正好倒置了给定的项目排序。
例如,根结点的多个子女结点分别表示{T},{R},{E},{K},{c},{d},{Q},{J},{f}等9个模式。从根结点经过结点(J,4)到达的结点(K,3)表示模式{J,K},其支持度为3。
2.4PruneNewNodes:对于任一个新结点,可执行“发明内容步骤C1”。如果剪裁成功,跳过步骤2.5和2.6而直接转步骤2.7。
图8中带深底色单删除线(兰色)的结点是可以被“发明内容步骤C1”剪裁掉的。例如,从根结点经(Q,5)结点访问到(K,4)结点然后生成(E,2)结点时,会知道该(E,2)结点代表的模式{E,K,Q}的泛化模式{E,K}是非频繁的(没有保留在倒置集合枚举树上),所以可以直接剪裁掉该(E,2)结点。
2.5ExtendedPseudoProjection(即“发明内容步骤C2”):对于任一个新结点ISET_v,如果在上一步不能确定其为非频繁,则根据其父母结点ISET_u的模式支持子库TS(ISET_u.pattern),执行“发明内容步骤B扩展型虚拟投影方法”,推出所表示模式ISET_v.pattern的模式支持子库TS(ISET_v.pattern)并用扩展型FPtree表达。
图9是从图7所示TS({})导出的根结点之子女结点(f,4)所表示模式{f}的支持子库TS({f})。由于TS({f})重用TS({})的存貯空间,故为后者的虚拟投影。
图10是进一步导出的根结点经结点(f,4)产生的孙子结点(K,3)所表示模式{f,K}的支持子库TS({f,K})。同样的,TS({f,K})重用TS({f})和TS({})的存貯空间。
2.6TestFrequentPattern(即“发明内容步骤C3”):如果|TS(ISET_v.pattern)|<minsup(最小支持度阀值),则ISET_v.pattern是非频繁的,无需进一步生成以ISET_v为根的子树。否则,ISET_v.pattern是一个频繁模式,令ISET_v.support取|TS(ISET_v.pattern)|。
图8中带双删除线(红色)的结点是计算得出支持度<minsup=3的结点,不代表频繁模式。
2.7按深度优先序重复步骤2.3~2.6,直至没有RLtree结点可以再生长出子女结点。
2.8输出ISE-tree各结点ISET_u所表示的频繁模式ISET_u.pattern及其支持度ISET_u.support。
性能测评:本发明“一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法”的性能测评实验表明,本发明算法的时间效率比两个参照算法分别高近5倍和高1~3个数量级,并且空间开销最小。
小结:本发明设计了“一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法”。采用层次标签技术、扩展型虚拟投影方法,使得模式支持子库的存贮开销最低,保证算法的空间可伸缩性。采用深度优先策略搜索倒置集合枚举树并进行有效的剪裁,保证算法的时间效率,实现了算法可伸缩性与效率最大化。本发明算法在海量数据挖掘特别是网络信息搜索与知识发现中有广泛应用前景。
Claims (4)
1.一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法,可以从数据库中发现跨越多个概念层次的频繁模式,包括三项核心技术:
A采用层次标签扩展的基于树的数据库压缩表示方法;
B用于确定支持模式的数据库子库的扩展型虚拟投影方法;
C组织频繁模式挖掘过程的倒置集合枚举树及其剪裁方法。
2.根据权利要求1所述的一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法,核心技术A进一步包括以下内容:
输入表示数据库的基本型FP-tree。
接着,采用层次信息标签来扩展FP-tree,为每个前缀树结点附加层次信息标签,以记录该结点项目的层次祖先中尚未被其它项目所表达的最高层次祖先的层次号,具体步骤如下。
A1令概念层次树H的根结点“层次号”域值为0,其他结点的层次号为其父亲结点的层次号+1;
A2自顶向下周游FP-tree前缀树林,对于当前访问的前缀树结点FPT_y,确定其层次标签如下:
A2.1令FPT_x为从根到达FPT_y之前的最后一个前缀树结点。
A2.2令HT_x和HT_y为概念层次树H上表示FPT_x和FPT_y所对应项目的结点。
A2.3沿着从HT_x到根的路径、从HT_y到根的路径向上行,确定两条路径的交点HT_z。
A2.4令HT_final为从HT_y上行到达交点HT_z之前的最后一个结点。
A2.5取FPT_y的层次标签为HT_final的层次号。
其次,将在数据库中出现次数<minsup(非频繁)的项目剔除如下:
A3对于各个FP-tree前缀树结点FPT_u,如果其对应的单个项目u非频繁(出现次数<minsup),则FPT_u的“项目”域应升级(替换)为FPT_u所代表的最近的并且是频繁(出现次数≥minsup)的层次祖先项目。
最后,FP-tree还有一个辅助部分,即头表(header table)。头表每个元素存放一个项目、该项目在数据库中出现的次数(支持数)、将该项目对应的前缀树结点穿线在一起的链表的头指针。扩展型FP-tree的头表直接借用概念层次树H来表示,具体步骤如下。
A4为概念层次树H的每个结点增添“支持数”域和“头指针”域,并分别初始化为0和空。
A5FP-tree前缀树结点除了原有的“项目”域、“计数”域、“层次标签”域外,增添“指针”域。
A6周游FP-tree前缀树林,对于当前访问的前缀树结点FPT_u,作如下处理:
A6.1令FPT_u的指针域取所表示项目u的对应头表元素的“头指针”域值。
A6.2令项目u的头表元素的“头指针”域取FPT_u。
A6.3令HT_u为项目u的头表元素所在概念层次树H的结点。
A6.4从HT_u出发向概念层次树根结点上行,当所访问概念层次树结点的“层次号”域值≥FPT_u的“层次标签”域值,为该概念层次树结点(也是一个头表素)的“支持数”域增加FPT_u的“计数”域值。
3.根据权利要求1所述的一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法,核心技术B进一步包括以下内容:
给定一个支持模式X的数据库子库TS(X)的扩展型FP-tree表示。支持模式Y=X∪{y}的数据库子库TS(Y)的扩展型FP-tree通过以下虚拟投影方法获得。其中,y应该是TS(X)中某个头表元素所对应的项目。
B1从模式X的支持子库TS(X)中界定出模式Y=X∪{y}的支持子库TS(Y)的前缀树林如下:
B1.1对于项目y所对应概念层次树结点HT_y的每个层次后代HT_z,执行
B1.1.1沿着HT_z“头指针”域所穿线的链表逐一访问所链FP-tree前缀树结点FPT_z
B1.1.2如果HT_y的层次号≥FPT_z的“层次标签”域值,
那么从FPT_z到根结点的路径也是TS(Y)前缀树林的一条路径,
B1.1.2.1将该路径上项目在TS(Y)头表中的结点的“计数”域和“指针”域分别置为0和空。
B2从TS(X)的头表中界定出TS(Y)的头表如下:
B2.1令TS(Y)头表由概念层次树H上按前序排列在HT_y之前、并且不是y之层次祖先的概念层次树结点组成。
B2.2将每个TS(Y)头表元素的“支持数”域和“头指针”域分别初始化为0和空。
B2.3从“步骤B1”所界定的每条前缀树路径起点FPT_z向根结点上行,对于所遇每个结点FPT_x,如果其项目在TS(Y)头表中,则执行
B2.3.1令HT_x为FPT_x的项目x所对应概念层次树结点。
B2.3.2如果FPT_x的“计数”域值为0,
那么令FPT_x的“指针”域取HT_x的“头指针”域值,HT_x的“头指针”域取FPT_x。
B2.3.3令FPT_x的“计数”域增加FPT_z的“计数”域值。
B2.3.4从HT_x出发向概念层次树根结点上行,当所访问概念层次树结点的“层次号”域值≥FPT_x的“层次标签”域值,为该概念层次树结点(也是一个头表素)的“支持数”域增加FPT_z的“计数”域值。
B3将y的层次祖先项目对应的TS(Y)头表元素的“支持数”域置为0,确保这些头表元素排除。
4.根据权利要求1所述的一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法,核心技术C进一步包括以下内容:
构造倒置集合枚举树如下:令每个结点ISET_u表示一个项目,记作ISET_u.item。从空的树根结点到ISET_u的所有项目的集合表示一个模式,记作ISET_u.pattern。结点ISET_u还记录ISET_u.pattern的支持度,也就是TS(ISET_u.pattern)中事务记录的个数,记作ISET_u.support。对于任意结点ISET_u,如果ISET_u.pattern是频繁的,即ISET_u.support≥minsup,则保留ISET_u并创建子女结点来代表按给定项目排序列在ISET_u.item之前并且不是ISET_u.item的层次祖先的项目。给定项目排序必须保证层次祖先项目排列在层次后代项目之前。ISET_u的子女结点代表项目的排列应与给定项目排序一致。构造过程按深度优先进行,并可以做以下剪裁。
C1对于任一个新结点ISET_v,在计算模式ISET_v.pattern的模式支持子库之前,可做以下剪裁:
C1.1随机抽取模式ISET_v.pattern的若干泛化集(或子集),对其中每个泛化集G进行以下测试
C1.1.1如果G没有被一个倒置集合枚举树结点表示,那么ISET_v.pattern是非频繁的,剪裁掉结点ISET_v。
C2如果ISET_v没有在“步骤C1”被剪裁掉,那么采用“B扩展型虚拟投影方法”确定TS(ISET_v.pattern)。
C3如果|TS(ISET_v.pattern)|<minsup,则ISET_v.pattern是非频繁的,剪裁掉结点ISET_v。否则令ISET_v.support取|TS(ISET_v.pattern)|。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102074275A CN102214248A (zh) | 2011-07-22 | 2011-07-22 | 一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102074275A CN102214248A (zh) | 2011-07-22 | 2011-07-22 | 一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102214248A true CN102214248A (zh) | 2011-10-12 |
Family
ID=44745556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102074275A Pending CN102214248A (zh) | 2011-07-22 | 2011-07-22 | 一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102214248A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104254854A (zh) * | 2012-05-15 | 2014-12-31 | 惠普发展公司,有限责任合伙企业 | 基于占有率的模式挖掘 |
CN108197172A (zh) * | 2017-12-20 | 2018-06-22 | 浙江工商大学 | 一种基于大数据平台的频繁模式挖掘方法 |
CN110489652A (zh) * | 2019-08-23 | 2019-11-22 | 重庆邮电大学 | 基于用户行为检测的新闻推荐方法、系统及计算机设备 |
CN111950270A (zh) * | 2019-04-29 | 2020-11-17 | 中国移动通信集团湖北有限公司 | 通信网络告警关联方法、装置及计算设备 |
CN116225967A (zh) * | 2023-05-05 | 2023-06-06 | 贵州易鲸捷信息技术有限公司 | 基于集合枚举树和剪枝策略的分布式数据库测试方法 |
-
2011
- 2011-07-22 CN CN2011102074275A patent/CN102214248A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104254854A (zh) * | 2012-05-15 | 2014-12-31 | 惠普发展公司,有限责任合伙企业 | 基于占有率的模式挖掘 |
US9679036B2 (en) | 2012-05-15 | 2017-06-13 | Hewlett Packard Enterprise Development Lp | Pattern mining based on occupancy |
CN108197172A (zh) * | 2017-12-20 | 2018-06-22 | 浙江工商大学 | 一种基于大数据平台的频繁模式挖掘方法 |
CN108197172B (zh) * | 2017-12-20 | 2021-06-22 | 浙江工商大学 | 一种基于大数据平台的频繁模式挖掘方法 |
CN111950270A (zh) * | 2019-04-29 | 2020-11-17 | 中国移动通信集团湖北有限公司 | 通信网络告警关联方法、装置及计算设备 |
CN111950270B (zh) * | 2019-04-29 | 2023-11-24 | 中国移动通信集团湖北有限公司 | 通信网络告警关联方法、装置及计算设备 |
CN110489652A (zh) * | 2019-08-23 | 2019-11-22 | 重庆邮电大学 | 基于用户行为检测的新闻推荐方法、系统及计算机设备 |
CN116225967A (zh) * | 2023-05-05 | 2023-06-06 | 贵州易鲸捷信息技术有限公司 | 基于集合枚举树和剪枝策略的分布式数据库测试方法 |
CN116225967B (zh) * | 2023-05-05 | 2023-07-07 | 贵州易鲸捷信息技术有限公司 | 基于集合枚举树和剪枝策略的分布式数据库测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shi et al. | Citing for high impact | |
CN103412917B (zh) | 一种可扩展的多类型领域数据协调管理的数据库系统和管理方法 | |
Zhang et al. | Multi-database mining | |
Leung et al. | Parallel social network mining for interesting ‘following’patterns | |
CN101727478B (zh) | 动态建立并用储存库中的数据填充数据集市的方法和系统 | |
Leung et al. | Mining frequent patterns from uncertain data with MapReduce for big data analytics | |
CN105653691B (zh) | 信息资源管理方法及管理装置 | |
Ryang et al. | Fast algorithm for high utility pattern mining with the sum of item quantities | |
US20090300043A1 (en) | Text based schema discovery and information extraction | |
CN102893281A (zh) | 信息搜索设备、信息搜索方法、计算机程序和数据结构 | |
Nasereddin | Stream Data Mining. | |
CN102214248A (zh) | 一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法 | |
CN101578579B (zh) | 用于分类对象建模的方法和系统 | |
Wu et al. | $ K $-Ary Tree Hashing for Fast Graph Classification | |
CN102662948A (zh) | 一种快速发现效用模式的数据挖掘方法 | |
Kanti Kumar et al. | Application of graph mining algorithms for the analysis of web data | |
Markov et al. | Natural Language Addressing | |
Bifet et al. | Mining adaptively frequent closed unlabeled rooted trees in data streams | |
Wen et al. | Crossing scientific workflow fragments discovery through activity abstraction in smart campus | |
Abidi et al. | Searching Personalized $ k $ k-Wing in Bipartite Graphs | |
Ahamed et al. | An Efficient Mechanism for Deep Web Data Extraction Based on Tree‐Structured Web Pattern Matching | |
Song et al. | Mining multi-relational high utility itemsets from star schemas | |
CN101968747B (zh) | 一种机群应用管理系统及其应用管理方法 | |
CN106156259A (zh) | 一种用户行为信息展示方法及系统 | |
Jiang et al. | Fault Diagnosis of Gearbox in Multiple Conditions Based on Fine‐Grained Classification CNN Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111012 |