[发明专利]一种基于邻接比特压缩表的频繁闭项集挖掘算法有效
| 申请号: | 202210391273.8 | 申请日: | 2022-04-14 | 
| 公开(公告)号: | CN114840577B | 公开(公告)日: | 2023-08-29 | 
| 发明(设计)人: | 朱敏;杨博超;吴美璇 | 申请(专利权)人: | 四川大学 | 
| 主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/22 | 
| 代理公司: | 成都禾创知家知识产权代理有限公司 51284 | 代理人: | 刘凯 | 
| 地址: | 610065 四川*** | 国省代码: | 四川;51 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 邻接 比特 压缩 频繁 闭项集 挖掘 算法 | ||
发明公开了一种基于邻接比特压缩表的频繁闭项集挖掘算法,定义使原始事务集高度压缩的,用于频繁闭项集挖掘的数据结构——邻接比特压缩表,通过该数据结构一方面将每个项或项集所包含的交易集压缩为比特数组,并通过邻接比特的位置标识去剔除传统比特表中的0比特,使交易集高度压缩;另一方面,建立项索引表,之后将项索引压缩到邻接比特压缩表中,当原始数据集中项的维度较高,或项标识较长时,压缩效果明显;其次,通过采用运算栈与检索栈的非递归运算方法,可以降低运算过程与闭合检索的空间占用;最后,通过邻接比特压缩表之间的与运算以及或运算代替项集求交或并运算,同时采用项集预处理、回溯校验的剪枝策略,来加快整体运算过程。
技术领域
本发明涉及数据挖掘技术领域,具体为一种基于邻接比特压缩表的频繁闭项集挖掘算法。
背景技术
频繁项集(Frequent Items,FI)是若干频繁同时出现事物的集合,最早是在超市研究货物摆放规律以及客户购买商品组合时提出的概念。随着信息技术的迅猛发展以及大数据时代的到来,使得在许多场景下对事物关联关系挖掘的需求日益强烈,直接促进了频繁项集挖掘算法的研究与应用。除客户营销方面的应用外,金融风险防控、旅游路线规划、机械异常故障预警、网络日志分析等,都有实际应用。然而,FI存在大量冗余信息,于是有学者进一步提出了频繁闭项集(FCI:Frequent Closed Items)的概念,FCI可以在不损失任何信息、完整地保持事物之间关联关系的前提下,剔除所有频繁项集的冗余信息,进而解决上述问题。频繁项集或频繁闭项集挖掘算法输入的基础数据集有三种结构:水平数据集、前缀树、垂直数据集。
基于水平数据集挖掘频繁项是最早被提出的一种策略,其核心思想是通过项集的两两合并来生成候选集,之后通过候选集与原始数据集的比对来计算其支持度,进而得知其是否为频繁项。由于每个候选集都需要与原始数据集进行比对,所以原始数据集需要常驻内存,并被频繁访问。当原始数据集较大时,算法的空间效率和时间效率都较差。
基于前缀树策略的基本原理是首先扫描一遍原始数据集记录各项的支持度,之后再扫描一遍数据集,剔除非频繁项并降序排序,再之后根据排序后队列中前后项之间的位置关系构建前缀树,最后通过该前缀树可以高效地生成频繁项集。该策略的问题在于,当结点的父节点较多时,原始数据集的压缩效果较差,同时该树状结构需常驻内存,当数据规模较大时,内存占用依旧很高。
基于垂直数据集策略的基本原理是首先扫描一遍数据集,形成主索引为项ID,其内容是该项所包含交易集的一种垂直数据结构。之后基于该数据结构,由频繁K项集可快速生成频繁K+1项集。由于基于垂直数据集的策略只需扫描一遍数据集,频繁K项集运算结束后可释放其空间,故时间和空间效率可进一步提升。
频繁项集包含冗余信息,如项集{A,B}的支持度为10,项集{A,B,C}的支持度也是10,则{A,B}完全可由{A,B,C}替代。所以有学者提出了基于频发闭项集的挖掘算法来解决信息冗余的问题。由于频繁闭项集在挖掘过程中需要对待输出项集进行闭合校验,所以频繁闭项集挖掘算法又可基于是否采用哈希表校验分为两类。采用哈希表的算法需要在输出过程中首先对待输出项集进行哈希运算,之后通过哈希表快速检索其是否闭合,如闭合则将其放入哈希表中并输出,否则将其丢弃。不采用哈希表的算法在运行过程中可判断项集是否闭合。采用哈希表的算法属于由空间换时间的策略,所以普遍时间效率占优,而不使用哈希表校验的算法普遍空间效率占优。
对于空间效率优化的研究,从水平数据集到前缀树再到垂直数据集,从数据结构的角度出发使空间效率都有所提升。而对于数据结构中需要放入内存的每个元素单元,有学者提出了传统比特表的数据结构——BitTable,用位表来代替项所归属的事务标识,使初始垂直数据集有了大幅的压缩,同时用按位与运算代替之前的求交集运算,效率也极大的提升。但各项的位表需要按位对齐,导致该数据结构中存在大量的0。后来有学者进一步提出了Dynamic Bit-Vector数据结构,它剔除了BitTable首尾的0,使初始数据进一步压缩。但当BitTable中间位置的存在大量的0时,Dynamic Bit-Vector依旧要占用大量的内存。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210391273.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:风扇叶片叶尖长度的加工方法
- 下一篇:一种建筑工程造价核算系统





