[发明专利]一种基于布尔矩阵和二进制编码改进的关联规则Apriori算法在审
申请号: | 202111113072.3 | 申请日: | 2021-09-23 |
公开(公告)号: | CN113806424A | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 吴海玲;裴树军;张宇 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150080 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 布尔 矩阵 二进制 编码 改进 关联 规则 apriori 算法 | ||
本发明提出一种基于布尔矩阵与二进制编码改进的关联规则Apriori算法。通过用布尔矩阵存储数据库的方式,使得整个算法对数据库只进行一次扫描操作,然后利用二进制编码之间的“与”运算,获取项集的事务支持度,同时增加了非频繁项集的记录表,对候选项集提前剪枝,大大提高了算法的效率。
技术领域
本发明涉及一个基于布尔矩阵和二进制编码改进的关联规则Apriori算法,属于数据挖掘领域。
背景技术
Apriori算法是最经典的关联规则挖掘算法之一,其核心思想就是利用连接产生候选项集,同时利用最小支持度对候选项集进行剪枝,最终生成频繁项集,但是随着数据爆发性的增长,传统的Aprior算法需要多次扫描数据库并且容易产生大量的候选项集,使得算法效率低下。
因此本发明提出一种基于布尔矩阵与二进制编码改进的关联规则Apriori算法,通过用布尔矩阵存储数据库的方式,使得整个算法对数据库只进行一次扫描操作,然后利用二进制编码之间的“与”运算获取项集的事务支持度,同时增加了非频繁项集的记录表,对候选项集提前剪枝,大大提高了算法的效率。
发明内容
为了解决Apriori算法需要多次扫描数据库与产生大量候选项集的缺点,本发明提出了一种基于布尔矩阵与二进制编码改进的关联规则Apriori算法。
为实现上述目的,本发明提供了如下技术方案:
1.一种基于布尔矩阵和二进制编码改进的关联规则Apriori算法,其特征在于,该方法包括以下步骤:
(1)扫描数据库,生成布尔矩阵,获得频繁1-项集;
(2)压缩布尔矩阵;
(3)提前预剪枝,同时建立非频繁项集的记录表;
(4)建立辅助表;
(5)更新非频繁项集记录表;
(6)缩减算法流程;
(7)压缩布尔矩阵,预剪枝,同时返回到步骤4,直到频繁k-项集个数小于k+1时,迭代结束。
2.根据权利要求1所述的一种基于布尔矩阵和二进制编码改进的关联规则Apriori算法,其特征在于,所述步骤(1)中,扫描数据库,生成布尔矩阵,获得频繁1-项集,具体步骤为:
步骤1-1首先扫描数据库,用布尔矩阵来存储,行表示事务id,列表示项,其中矩阵中的aij的可能取值为0或1,取值为1就代表此项目存在于事务中,0就代表不存在。计算各个事务的项目数,并按这个值对矩阵进行降序排列,在矩阵最后增加2列,第1列n,n用来记录每行中“1”的个数,第2列w,w用于将事务数据库中重复出现的事务压缩为1行,从而保证矩阵存储中每1条事务信息都不重复,在矩阵最后增加1行s,s用来记录每列的和;
步骤1-2根据布尔矩阵,获得频繁1-项集。
3.根据权利要求1所述的一种基于布尔矩阵和二进制编码改进的关联规则Apriori算法,其特征在于,所述步骤(2)中,计算各个事务的项目数,并按这个值对矩阵进行降序排列,将非频繁1-项集所在的列删除,重新计算矩阵列n的值,按降序重新排列矩阵,同时在求频繁k-项集(k≥2)时,将矩阵中的事务数小于k的行直接删除,重新计算矩阵中各列的值并重新排列矩阵。
4.根据权利要求1所述的一种基于布尔矩阵和二进制编码改进的关联规则Apriori算法,其特征在于,所述步骤(3)中,提前预剪枝,同时建立非频繁项集的记录表,具体步骤为:
步骤3-1利用“若能生成频繁k-项集(k≥2),则频繁(k-1)-项集中每个项的个数不能小于k-1”的性质,对候选k-项集(k≥2)进行剪枝;
步骤3-2建立非频繁项集的记录表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111113072.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种康复脚部按摩器
- 下一篇:一种同时检测添加剂、L-肉碱和D-肉碱的方法