CN105808766A - 一种基于事务项约束扩展的多层关联规则挖掘方法 - Google Patents
一种基于事务项约束扩展的多层关联规则挖掘方法 Download PDFInfo
- Publication number
- CN105808766A CN105808766A CN201610162177.0A CN201610162177A CN105808766A CN 105808766 A CN105808766 A CN 105808766A CN 201610162177 A CN201610162177 A CN 201610162177A CN 105808766 A CN105808766 A CN 105808766A
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- item
- tree
- transaction item
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于事务项约束扩展的多层关联规则挖掘方法,通过将原始项目表转换为概念层次树,再通过概念层次树进行基于事务项约束扩展的多层关联规则挖掘,这样能够根据具体数据挖掘应用场景或用户所需要的具体关联信息需求,在具体层次间进行关联信息挖掘,同时挖掘过程中极大减少频繁项集和冗余规则的生成,从而提高整个数据的关联规则挖掘效率,具有很好的扩展性。
Description
技术领域
本发明属于数据挖掘技术领域,更为具体地讲,涉及一种基于事务项约束扩展的多层关联规则挖掘方法。
背景技术
关联规则挖掘研究是数据挖掘研究的一项重要内容,旨在发现大规模数据集中项集之间有趣的关联关系或模式。关联规则可按多种标准进行分类,主要划分成单层与多层两类。近几年,关联规则的研究重点已经从对单层关联规则挖掘转向对多层及更高层关联规则的挖掘。人们希望通过数据挖掘对更高层次的数据进行分析,以便可以更好的利用这些数据。一方面,对较高概念层挖掘的关联规则能提供普遍意义的知识,另一方面,对于不同领域特别是在电子商务的应用中,在低层或原始层的数据项之间很难找到强关联规则。
多层关联规则挖掘是对传统单层关联规则挖掘技术的拓展,与传统单层关联规则挖掘一样,多层关联规则挖掘也会产生海量关联规则信息,同样需要解决两个基本问题:如何提高效率,快速无损地找到所有的频繁项集;如何最大限度地去除冗余,产生感兴趣的关联规则。
在现有技术中,文献[HEB.DistributedalgorithmforminingassociationrulesbasedonFP-tree[J].ControlandDecision,2012,27(4):618-622]提出基于频繁模式树的分布式关联规则挖掘算法采用顶部和底部剪枝策略,有效压缩候选项集。文献[吴杰,郝忠孝.基于兴趣度的关联规则挖掘算法[J].哈尔滨理工大学学报,2009,14(1):40-43.]引入用户兴趣度阈值来加强对关联规则的判断,有效减少关联规则的冗余度。文献[孟军,王蓬,张静,王秀坤.基于项集依赖的最小关联规则挖掘[J].计算机科学,2013,40(1):183-186]提出基于项集依赖关系的最小关联规则挖掘算法,用较少的规则实现原始规则集的一种近似无损描述。文献[胡伟华,冯伟.基于分解事务矩阵的关联规则挖掘算法[J].计算机应用,2014,32(S2):113-116]提出将数据库中相关信息以分解事务矩阵的形式压缩存储,再对分解事务矩阵进行频繁项目集挖掘的算法。
然而,这些改进方法尽管大大提高了算法的执行效率,但是针对大规模数据时仍会产生大量的规则,引发规则爆炸问题。在多层关联规则挖掘时,事务的扩展会增大数据规模,且对不同应用场景,不同用户而言,某些特定层次的规则对于他们来说更有实际意义。例如电子商务网站中,跨越两个以上层次的规则也没有太大实际意义,规则女装=>水晶项链就没有短裙=>水晶项链价值大(这里短裙是比女装更低的具体抽象层次);同时采用FP-Growth算法基于FP-Tree的频繁模式片段增长方法进行频繁项集查找时,仍存在FP-Tree节点过多、递归调用次数过多等问题。本发明针对这些问题,提出了基于事务项约束扩展的多层联规则规则方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于事务项约束扩展的多层关联规则挖掘方法,能够根据具体数据挖掘应用场景或用户所需要的具体关联信息需求,在具体层次间进行关联信息挖掘,极大减少频繁项集和冗余规则的生成。
为实现上述发明目的,本发明一种基于事务项约束扩展的多层关联规则挖掘方法,其特征在于,包括以下步骤:
(1)、对概念层次树进行编码预处理
(1.1)、建立概念层次树CT:根据原始项目表中的项目建立概念层次树CT,CTij表示概念层次树CT的第i(i=1,2…,n)层的第j(j=1,2,…,m)个节点,其中,n为CT的层数,m为CT第i层的节点数;
(1.2)、对概念层次树CT编码:先从概念层次树CT的左端开始,分别对CT每层中的节点按序编号,再对CT中的每个节点按照父节点编号加本节点编号的组合方式得到每个节点的编码号;
(1.3)、建立编码事务表:根据编码后的概念层次树CT,用编码号取代原始项目表中对应的事务项,生成编码事务表;
(2)、利用预设的事务项约束扩展层次对编码事务表进行约束扩展
设置约束扩展层次k,2≤k≤n;设编码事务表中所有事务项集合为H={h1,h2,…,hm},事务集集合为T={T1,T2,…,Tn},其中,每个事务Ti是一个非空项集,扫描事务集T,将每条事务中的每个事务项从CT中找出该事务项的前k-1个父节点的编码号,并加入到该条事务中,最后删除事务中重复的事务项,约束扩展后的事务集T';
(3)、对事务项约束扩展后的事务集T'进行基于FP-Growth算法的挖掘
(3.1)、设置最小支持度;
(3.2)、扫描事务集T',计算每个事务项的支持度计数,将支持度计数大于最小支持度的事务项存入到频繁项集L中;
(3.3)、将频繁项集L中的事务项按支持度计数的递减序排序,得到频繁项集L';
(3.4)、第二次扫描事务集T',构造频繁模式增长树FP-Tree;
(3.4.1)、创建树的根节点,根节点为空;
(3.4.2)、创建树的子结点;
1)、扫描事务集T',从T'的每条事物中找出与L'对应的事务项,再对每个事务项都按L'中的次序处进行排序,得到事务集T”;
2)、利用事务集T”建树;对事务集T”的每一条事务创建一个分枝,每个事务项为分枝上一个结点;在为每二条以后的事务创建分枝时,需对当前事务与前面已创建分枝的事务存在共同前缀的每个结点的计数加1,同时为该共同前缀之后的事务项创建新的结点和链接;
3)、对树中的每个结点增加域isVisited和conditionMemory,其中,isVisited为布尔类型,初始isVisited为“假”,初始conditionMemory为空;
4)、利用频繁项集L'中的事务项创建一个项头表,使每个事务项通过一个结点链指向它在树中的位置,同一结点链上的各个结点相互称为同名结点;
(3.5)、对(3.4)步骤构建的FP-Tree进行频繁项集挖掘:
(3.5.1)、从项头表的最后一项开始,沿结点链找到该事务项在FP-Tree中第一次出现的位置F;
(3.5.2)、读取位置F处的结点的isVisited值,如果isVisited值为“假”,表明该结点未被遍历过,则遍历从该结点起到根结点止的各结点,并将各结点的前缀结点存入到各自的conditionMemory中,再将各结点的isVisited值设为“真”;如果isVisited值为“真”,表明该结点被遍历过,则沿结点链查找该结点在树中的下一同名结点;
(3.5.3)、对各同名结点按照步骤(3.5.2)所述方法,判断各同名结点的isVisited值,直到处理完最后一个同名结点为止;
(3.5.4)、将各同名结点的conditionMemory中的前缀结点组成各自结点的一条子事务,再由各同名结点的子事务组成子数据库,对该子数据库按照步骤(3.2)、(3.3)、(3.4)所述方法构建条件FP-Tree;
(3.5.5)、判断条件FP-Tree是否存在多条分枝,如果条件FP-Tree仅存在一条分枝,则将该分枝上的所有事务项加上该事务项本身作为一个频繁项集入frequencySets中,否则对该条件FP-Tree按照步骤(3.5)所述方法进行处理;
(3.6)、待项头表的最后一项处理完成后,再按照步骤(3.5)依次处理项头表中剩余的事务项,完成频繁项集的挖掘过程;
(4)、设置风险度阈值,验证事务项约束扩展层次k值选取的可行性
(4.1)、设基于全部层次n层扩展挖掘的关联规则数记为Rn,基于事务项约束扩展k(k=2,...,n)层扩展挖掘的关联规则数记为Rk,则风险度risk(k)为:
(4.2)、设置风险极大值max_risk,如果事务约束扩展k层扩展时的风险度risk(k)小于max_risk,则事务约束扩展层次k值设置合理,挖掘出的关联规则可用;否则事务约束扩展层次k值设置不合理,则重新选择k值按照步骤(1)-(3)进行关联归则挖掘,再按步骤(4.1)中的风险度公式计算风险度,验证k值选择的合理性。
本发明的发明目的是这样实现的:
本发明一种基于事务项约束扩展的多层关联规则挖掘方法,通过将原始项目表转换为概念层次树,再通过概念层次树进行基于事务项约束扩展的多层关联规则挖掘,这样能够根据具体数据挖掘应用场景或用户所需要的具体关联信息需求,在具体层次间进行关联信息挖掘,同时挖掘过程中极大减少频繁项集和冗余规则的生成,从而提高整个数据的关联规则挖掘效率,具有很好的扩展性。
附图说明
图1是本发明基于事务项约束扩展的多层关联规则挖掘方法流程图;
图2是根据原始项目表建立的概念层次树;
图3是概念层次编码树;
图4是根据编码事务集T”建立的FP-Tree;
图5是根据编码事务项“325”的条件FP-Tree;
图6是在数据集不变的情况下,随着最小支持度的变化,不同的约束扩展层次下挖掘出频繁项集数目的比较结果;
图7是在数据集不变的情况下,随着最小支持度的变化,不同的约束扩展层次下执行时间的比较结果;
图8是不同扩展层次下挖掘出关联规则冗余度。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明基于事务项约束扩展的多层关联规则挖掘方法流程图。
在本实施例中,如图1所示,本发明一种基于事务项约束扩展的多层关联规则挖掘方法,包括以下步骤:
S1、对概念层次树进行编码预处理
S1.1、建立概念层次树CT:根据原始事务表中的事务项建立概念层次树CT,CTij表示概念层次树CT的第i(i=1,2…,n)层的第j(j=1,2,…,m)个结点,其中,n为CT的层数,m为CT第i层的结点数;
在本实施例中,利用原始事务表1中的事务项建立概念层次树CT,如图2所示,概念层次树CT共有4层;
表1是原始项目表;
表1
S1.2、对概念层次树CT编码:先从概念层次树CT的左端开始,分别对CT每层中的结点按序编号,再对CT中的每个结点按照父结点编码号加本结点编号的组合方式得到每个节点的编码号,从而得到概念层次编码树CT′;其中,第一层为根结点,第二层中的结点的编码号和编号相同;
在本实施例中,如图2所示,第1层为根结点,根结点为空,第2层中三个结点的编码号和编号相同;以概念层次树CT的第2层和第3层为例,从最左端的结点开始,第2层按序编号为1、2…,第3层按序编号为1、2…,那么第3层第2个结点的编码号为12,以此类推得到如图3所示的概念层次编码树CT′;
S1.3、建立编码事务表:根据编码后的概念层次编码树CT′,用编码号取代原始项目事务表中对应的事务项,生成编码事务表;
在本实施例中,以原始项目表1中的第一条事务T1为例,事务项“衬衫”对应在CT′中的编码号为“111”,事务项“打底”对应编码号为“124”;将所有事务中的事务项用各自对应的编码号取代,得到编码事务表如表2所示;
表2是利用原始项目表生成的编码事务表;
事务 | 事务项 |
T1 | 111,124,112,345 |
T2 | 112,124,346 |
T3 | 111,123,345 |
表2
S2、利用预设的事务项约束扩展层次对编码事务表进行约束扩展
设置约束扩展层次k,2≤k≤n;设编码事务表中所有事务项集合为H={h1,h2,…,hm},事务集集合为T={T1,T2,…,Tl},其中,每个事务是一个非空项集,扫描事务集T,将每条事务中的每个事务项从CT′中找出该事务项的前k-1个父结点的编码号,并加入到该条事务中,最后删除事务中重复的事务项,约束扩展后的事务集T';
在本实施例中,设置约束扩展层次k=2,以事务T1为例,事务项“111”的前1个父结点为“11”,事务项“124”的前1个父结点为“12”,事务项“112”的前1个父结点为“11”,事务项“345”的前1个父结点为“34”,添加父亲结点后的事务项为{111,11,124,12,112,11,345,34},删除重复出现的事务项,最终的到约束扩展事务为{111,11,124,12,112,345,34};同理处理其他事务,得到约束扩展后的事务集T'如表3所示;
表3是事务项约束k=2扩展后的事务表;
事务 | 事务项 |
T1 | 111,124,112,345,11,12,34 |
T2 | 112,124,346,11,12,34 |
T3 | 111,123,345,11,12,34 |
表3
S3、对事务项约束扩展后的事务集T'进行基于FP-Growth算法的挖掘
S3.1、设置最小支持度,在本实施例中设置最小支持度=2;
S3.2、扫描事务集T',统计每个事务项的支持度计数,将支持度计数大于最小支持度的事务项存入到频繁项集L中;
在本实施例中,统计所有事务项的支持度计数:“111”:2,“124”:2,“112”:2,“345”:2,“11”:3,“12”:3,“34”:3,“346”:1,“123”:1;其中,冒号后面的数字代表支持度计数,进而得到频繁项集L={111,124,112,345,11,12,34};
S3.3、将频繁项集L中的事务项先按支持度计数的递减序排序,再将支持度计数相同的事务项按编码号由大到小排列,得到频繁项集L',L'={11,12,34,111,112,124,345};
S3.4、第二次扫描事务集T',构造出如图4所示的频繁模式增长树FP-Tree;
S3.4.1、创建树的根节点,根结点为空,本实施例中用Null表示根结点;
S3.4.2、创建树的子结点;
1)、扫描事务集T',从T'的每条事务中找出与L'对应的事务项,再对每个事务项都按L'中的次序处进行排序,得到事务集T”;
在本实施例中,以T'中的第二条事务T2{112,124,346,11,12,34}为例,保留在L'出现的事务项,并按L'中的次序排序得到{11,12,34,112,124};同样处理T'中的其他事务,最终得到事务集T”如表4所示;
表4是依据频繁项集重新排序的事务表;
事务 | 事务项 |
T1 | 11,12,34,111,112,124,345 |
T2 | 11,12,34,112,124 |
T3 | 11,12,34,111,345, |
表4
2)、利用事务集T”建树;对事务集T”的每一条事务创建一个分枝,每个事务项为分枝上一个结点;在为每二条以后的事务创建分枝时,需对当前事务与前面已创建分枝的事务存在共同前缀的每个结点的计数加1,同时为该共同前缀之后的事务项创建新的结点和链接;
在本实施例中,如图4所示,树的根结点为Null,事务项34在三条事务中均出现,因此,需要对事务项34所在结点计数累计到3,事务项34后的事务项需要创建新的结点和链路,即111:2、112:1;
3)、对树中的每个结点增加域isVisited和conditionMemory,其中,isVisited为布尔类型,初始isVisited为“假”,初始conditionMemory为空;在本实施例中,添加isVisited和conditionMemory两域是为了在挖掘FP-Tree时,减少对结点的递归次数,提高挖掘效率;
4)、利用频繁项集L'中的事务项创建一个项头表,如图4所示,使每个事务项通过一个结点链指向它在树中的位置,同一结点链上的各个结点相互称为同名结点;
在本实施例中,利用频繁项集L'中的事务项创建一个有序链表作为项头表,并使频繁项集L'中的每个事务项链接到它在树中第一次出现的位置,如事务项“112”指向它在树中第一次出现的位置为图4中的A处;
S3.5、对S3.4步骤构建的FP-Tree进行频繁项集挖掘:
S3.5.1、从项头表的最后一项开始,沿结点链找到该事务项在FP-Tree中第一次出现的位置F;
S3.5.2、读取位置F处的结点的isVisited值,如果isVisited值为“假”,表明该结点未被遍历过,则遍历从该结点起到根结点止的各结点,并将各结点的前缀结点存入到各自的conditionMemory中,再将各结点的isVisited值设为“真”;如果isVisited值为“真”,表明该结点被遍历过,则沿结点链查找该结点在树中的下一同名结点;
在本实施例中,以项头表的最后一项“345”为实例,沿结点链找到其在树中第一次出现的位置记为F,如图4中标记“F”的位置,首先判断该处结点的isVisited值,如为“假”,表明该结点未被遍历过,遍历从该结点起到根结点止的各结点,再将该结点的各前缀结点{11,12,34,111,112,124}存入自己conditionMemory中,并将isVisited的值置为“真”;“124”结点的前缀结点{11,12,34,111,112}存入自己的conditionMemory中,并将isVisited的值置为“真”;“112”结点的前缀结点{11,12,34,111}存入自己的conditionMemory中,以此类推,直到“12”结点的前缀结点{11}存入自己的conditionMemory中,并将isVisited的值置为“真”;“11”无前缀结点,该条分枝处理结束;
S3.5.3、对各同名结点按照步骤S3.5.2所述方法,判断各同名结点的isVisited值,直到处理完最后一个同名结点为止;
在本实施例中,事务项“345”在树中第一次出现的位置F处的结点处理完成后,接着沿结点链找到其在树中的下一个同名结点的位置S处,如图4中标明“S”的位置,对该结点做S3.5.2同样的操作,直到处理完结点链上的所有同名结点;
S3.5.4、将各同名结点的conditionMemory中的前缀结点组成各自结点的一条子事务,再由各同名结点的子事务组成子数据库,对该子数据库按照步骤S3.2、S3.3、S3.4所述方法构建条件FP-Tree;
在本实施例中,以事务项“345”为例,其结点链上共有两个同名结点其conditionMemory中的前缀结点分别为{11,12,34,111,112,124},{11,12,34,111};每一组数据为一条事务,这两条事务组成事务项“345”的子数据库,然后按照步骤S3.2、S3.3、S3.4所述方法构建条件FP-Tree,构建的条件FP-Tree如图5所示;
S3.5.5、判断条件FP-Tree是否存在多条分枝,如果条件FP-Tree仅存在一条分枝,则将该分枝上的所有事务项加上该事务项本身作为一个频繁项集存入frequencySets中,否则对该条件FP-Tree按照步骤S3.5所述方法进行处理;
在本实施例中,以事务项“345”为例,其条件FP-Tree如图5所示,树中只有一条分枝,则该分枝上的所有事务项加上事务项“345”本身得到一个频繁项集为{11,12,34,111,345};
S3.6、待项头表的最后一项处理完成后,再按照步骤S3.5依次处理项头表中剩余的事务项,完成频繁项集的挖掘过程;
S4、设置风险度阈值,验证事务项约束扩展层次k值选取的可行性
S4.1、设基于全部层次n层扩展挖掘的关联规则数记为Rn,基于事务项约束扩展k(k=2,...,n)层扩展挖掘的关联规则数记为Rk,则风险度risk(k)为:
S4.2、设置风险极大值max_risk,如果事务约束扩展k层扩展时的风险度risk(k)小于max_risk,则事务约束扩展层次k值设置合理,挖掘出的关联规则可用;否则事务约束扩展层次k值设置不合理,则重新选择k值按照步骤S1-S3进行关联归则挖掘,再按步骤S4.1中的风险度公式计算风险度,验证k值选择的合理性。
本实施例中,原始事务表1仅有三条事务,其事务量太少,不利于风险度阈值的展示,下面选取更大的事务集来做说明。
选取IBMAlmadenQuest研究组的FrequentItemsetMiningDatasetRepository库中T1014D100K.dat部分的数据对本文算法再次验证,直接给出仿真的数据图部分。
图6给出了在数据集不变的情况下,随着最小支持度的变化,不同的约束扩展层次下挖掘出频繁项集数目的比较结果。
图7给出了在数据集不变的情况下,随着最小支持度的变化,不同的约束扩展层次下执行时间的比较结果。
其中,约束扩展层次k=4时即添加事务项的所有祖先项这等同于未改进的FP_Growth算法。从图6,图7中看出约束扩展k=2层在执行时间与挖掘频繁项集上有明显较好的效果。
再次从T1014D100K.dat中选取四组大小分别为2x104、3x104、4x104、5x104的数据集分别挖掘约束扩展层次k=2,3,4时的关联规则,设置风险冗余度max_risk(2)=0.2,max_risk(3)=0.1。图8给出了不同扩展层次下挖掘出关联规则冗余度情况,从图中可以看出对约束扩展层次后的数据集在进行关联规则挖掘可以降低冗余度。
表5是不同扩展层次下的关联规则;
表5
表5展示了5x104事务集不同扩展层次下挖掘出的关联规则,k=3及k=4中显示出更多的规则,其本质上都是k=2挖掘出规则的冗余规则。例k=3中规则{132,14}=>{132368}在k=2层不存在,但“14”为“142”的祖先项,则该规则相对于规则{132,142}=>{132368}来说是一种规则冗余,此处没有造成规则丢失。其中risk(2)=risk(3)=0均小于各层max_risk。可知对于此组事务集可进行基于两层次事务扩展的关联规则挖掘。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种基于事务项约束扩展的多层关联规则挖掘方法,其特征在于,包括以下步骤:
(1)、对概念层次树进行编码预处理
(1.1)、建立概念层次树CT:根据原始项目表中的项目建立概念层次树CT,CTij表示概念层次树CT的第i(i=1,2…,n)层的第j(j=1,2,…,m)个节点,其中,n为CT的层数,m为CT第i层的节点数;
(1.2)、对概念层次树CT编码:先从概念层次树CT的左端开始,分别对CT每层中的节点按序编号,再对CT中的每个节点按照父节点编号加本节点编号的组合方式得到每个节点的编码号;
(1.3)、建立编码事务表:根据编码后的概念层次树CT,用编码号取代原始项目表中对应的事务项,生成编码事务表;
(2)、利用预设的事务项约束扩展层次对编码事务表进行约束扩展
设置约束扩展层次k,2≤k≤n;设编码事务表中所有事务项集合为H={h1,h2,…,hm},事务集集合为T={T1,T2,…,Tn},其中,每个事务Ti是一个非空项集,扫描事务集T,将每条事务中的每个事务项从CT中找出该事务项的前k-1个父节点的编码号,并加入到该条事务中,最后删除事务中重复的事务项,约束扩展后的事务集T';
(3)、对事务项约束扩展后的事务集T'进行基于FP-Growth算法的挖掘
(3.1)、设置最小支持度;
(3.2)、扫描事务集T',计算每个事务项的支持度计数,将支持度计数大于最小支持度的事务项存入到频繁项集L中;
(3.3)、将频繁项集L中的事务项按支持度计数的递减序排序,得到频繁项集L';
(3.4)、第二次扫描事务事务集T',构造频繁模式增长树FP-Tree;
(3.4.1)、创建树的根节点,根节点为空;
(3.4.2)、创建树的子结点;
1)、扫描事务集T',从T'的每条事物中找出与L'对应的事务项,再对每个事务项都按L'中的次序处进行排序,得到事务集T”;
2)、利用事务集T”建树;对事务集T”的每一条事务创建一个分枝,每个事务项为分枝上一个结点;在为每二条以后的事务创建分枝时,需对当前事务与前面已创建分枝的事务存在共同前缀的每个结点的计数加1,同时为该共同前缀之后的事务项创建新的结点和链接;
3)、对树中的每个结点增加域isVisited和conditionMemory,其中,isVisited为布尔类型,初始isVisited为“假”,初始conditionMemory为空;
4)、利用频繁项集L'中的事务项创建一个项头表,使每个事务项通过一个结点链指向它在树中的位置,同一结点链上的各个结点相互称为同名结点;
(3.5)、对(3.4)步骤构建的FP-Tree进行频繁项集挖掘:
(3.5.1)、从项头表的最后一项开始,沿结点链找到该事务项在FP-Tree中出现的位置F;
(3.5.2)、读取位置F处的结点的isVisited值,如果isVisited值为“假”,表明该结点未被遍历过,则遍历从该结点起到根结点止的各结点,并将各结点的前缀结点存入到各自的conditionMemory中,再将各结点的isVisited值设为“真”;如果isVisited值为“真”,表明该结点被遍历过,则沿结点链查找该结点在树中的下一同名结点;
(3.5.3)、对各同名结点按照步骤(3.5.2)所述方法,判断各同名结点的isVisited值,直到处理完最后一个同名结点为止;
(3.5.4)、将各同名结点的conditionMemory中的前缀结点组成各自结点的一条子事务,再由各同名结点的子事务组成子数据库,对该子数据库按照步骤(3.2)、(3.3)、(3.4)所述方法构建条件FP-Tree;
(3.5.5)、判断条件FP-Tree是否存在多条分枝,如果条件FP-Tree仅存在一条分枝,则将该分枝上的所有事务项加上该事务项本身作为一个频繁项集入frequencySets中,否则对该条件FP-Tree按照步骤(3.5)所述方法进行处理;
(3.6)、待项头表的最后一项处理完成后,再按照步骤(3.5)依次处理项头表中剩余的事务项,完成频繁项集的挖掘过程;
(4)、设置风险度阈值,验证事务项约束扩展层次k值选取的可行性
(4.1)、设基于全部层次n层扩展挖掘的关联规则数记为Rn,基于事务项约束扩展层扩展挖掘的关联规则数记为Rk,则风险度risk(k)为:
(4.2)、设置风险极大值max_risk,如果事务约束扩展k层扩展时的风险度risk(k)小于max_risk,则事务约束扩展层次k值设置合理,挖掘出的关联规则可用;否则事务约束扩展层次k值设置不合理,则重新选择k值按照步骤(1)-(3)进行关联归则挖掘,再按步骤(4.1)中的风险度公式计算风险度,验证k值选择的合理性。
2.根据权利要求1所述的基于事务项约束扩展的多层关联规则挖掘方法,其特征在于,所述的概念层次树CT中第一层为根结点,根结点为空集;第二层中的结点的编码号和编号相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610162177.0A CN105808766A (zh) | 2016-03-21 | 2016-03-21 | 一种基于事务项约束扩展的多层关联规则挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610162177.0A CN105808766A (zh) | 2016-03-21 | 2016-03-21 | 一种基于事务项约束扩展的多层关联规则挖掘方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105808766A true CN105808766A (zh) | 2016-07-27 |
Family
ID=56453475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610162177.0A Pending CN105808766A (zh) | 2016-03-21 | 2016-03-21 | 一种基于事务项约束扩展的多层关联规则挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808766A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315822A (zh) * | 2017-07-04 | 2017-11-03 | 国网浙江省电力公司杭州供电公司 | 一种知识点关联的挖掘方法 |
CN107909251A (zh) * | 2017-10-31 | 2018-04-13 | 山东中烟工业有限责任公司 | 一种卷烟设备综合效率影响因素分析方法和装置 |
CN108733705A (zh) * | 2017-04-20 | 2018-11-02 | 哈尔滨工业大学深圳研究生院 | 一种高效用序列模式挖掘方法及装置 |
CN109582714A (zh) * | 2018-12-03 | 2019-04-05 | 甘肃万维信息技术有限责任公司 | 一种基于时间衰减关联的政务事项数据处理方法 |
CN110334796A (zh) * | 2019-06-28 | 2019-10-15 | 北京科技大学 | 一种社会安全事件的关联规则挖掘方法及装置 |
CN111143412A (zh) * | 2019-12-24 | 2020-05-12 | 中科金审(北京)科技有限公司 | 数据对比方法、装置、计算机及计算机可读存储介质 |
CN114282849A (zh) * | 2022-01-18 | 2022-04-05 | 国网湖北省电力有限公司电力科学研究院 | 一种高层建筑火灾风险评估方法 |
CN114691744A (zh) * | 2020-12-29 | 2022-07-01 | 兰州交通大学 | 传播力约束下的微地图用户关联规则挖掘方法 |
CN116721001A (zh) * | 2023-08-10 | 2023-09-08 | 江苏网进科技股份有限公司 | 基于数字孪生的智慧城市资源管理方法 |
-
2016
- 2016-03-21 CN CN201610162177.0A patent/CN105808766A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733705A (zh) * | 2017-04-20 | 2018-11-02 | 哈尔滨工业大学深圳研究生院 | 一种高效用序列模式挖掘方法及装置 |
CN108733705B (zh) * | 2017-04-20 | 2023-04-04 | 哈尔滨工业大学深圳研究生院 | 一种高效用序列模式挖掘方法及装置 |
CN107315822B (zh) * | 2017-07-04 | 2020-05-12 | 国网浙江省电力公司杭州供电公司 | 一种知识点关联的挖掘方法 |
CN107315822A (zh) * | 2017-07-04 | 2017-11-03 | 国网浙江省电力公司杭州供电公司 | 一种知识点关联的挖掘方法 |
CN107909251A (zh) * | 2017-10-31 | 2018-04-13 | 山东中烟工业有限责任公司 | 一种卷烟设备综合效率影响因素分析方法和装置 |
CN109582714A (zh) * | 2018-12-03 | 2019-04-05 | 甘肃万维信息技术有限责任公司 | 一种基于时间衰减关联的政务事项数据处理方法 |
CN109582714B (zh) * | 2018-12-03 | 2023-07-25 | 中电万维信息技术有限责任公司 | 一种基于时间衰减关联的政务事项数据处理方法 |
CN110334796A (zh) * | 2019-06-28 | 2019-10-15 | 北京科技大学 | 一种社会安全事件的关联规则挖掘方法及装置 |
CN111143412A (zh) * | 2019-12-24 | 2020-05-12 | 中科金审(北京)科技有限公司 | 数据对比方法、装置、计算机及计算机可读存储介质 |
CN114691744A (zh) * | 2020-12-29 | 2022-07-01 | 兰州交通大学 | 传播力约束下的微地图用户关联规则挖掘方法 |
CN114282849A (zh) * | 2022-01-18 | 2022-04-05 | 国网湖北省电力有限公司电力科学研究院 | 一种高层建筑火灾风险评估方法 |
CN116721001A (zh) * | 2023-08-10 | 2023-09-08 | 江苏网进科技股份有限公司 | 基于数字孪生的智慧城市资源管理方法 |
CN116721001B (zh) * | 2023-08-10 | 2023-11-17 | 江苏网进科技股份有限公司 | 基于数字孪生的智慧城市资源管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105808766A (zh) | 一种基于事务项约束扩展的多层关联规则挖掘方法 | |
Gan et al. | Mining of frequent patterns with multiple minimum supports | |
CN103678620A (zh) | 一种基于用户历史行为特征的知识文档推荐方法 | |
CN104392010A (zh) | 一种子图匹配的查询方法 | |
CN113641920A (zh) | 基于社区发现和图神经网络的商品个性化推荐方法及系统 | |
CN104899292A (zh) | 一种面向属性图集的频繁近似子图挖掘方法 | |
CN102591900A (zh) | 快速寻找高效用项目集的数据挖掘演算方法 | |
CN102750286A (zh) | 一种处理缺失数据的新型决策树分类器方法 | |
CN105404637A (zh) | 数据挖掘方法和装置 | |
CN104765852B (zh) | 大数据背景下基于模糊算法的数据挖掘方法 | |
CN106095859A (zh) | 基于olam的多维度中医针灸关联规则挖掘方法 | |
Gopalan et al. | High performance frequent patterns extraction using compressed FP-tree | |
CN110334796A (zh) | 一种社会安全事件的关联规则挖掘方法及装置 | |
CN101297290A (zh) | 用于控制关系型数据库系统的方法 | |
Lin et al. | Mining of high average-utility patterns with item-level thresholds | |
Prasad et al. | Frequent pattern mining and current state of the art | |
Shrivastava et al. | FP-tree and COFI based approach for mining of multiple level association rules in large databases | |
Lin et al. | Efficient updating of sequential patterns with transaction insertion | |
Rani et al. | Mining multi level association rules using fuzzy logic | |
CN107133281A (zh) | 一种基于分组的全局多查询优化方法 | |
Juan et al. | Research of an association rule mining algorithm based on FP tree | |
Tohidi et al. | A frequent pattern mining algorithm based on FP-growth without generating tree | |
Gao | Realization of a new association rule mining algorithm | |
KR20080008573A (ko) | Xml 데이터로부터 연관규칙을 추출하기 위한 방법 | |
Meenakshi et al. | A novelty approach for finding frequent itemsets in horizontal and vertical layout-HVCFPMINETREE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160727 |