文摘

管理方作为第一个增量关联挖掘算法,可以解决问题,但是该算法也有缺陷产生大量的候选人数据库和多个迭代,导致算法的执行效率低在处理与快速更新,一些大型交易,如图书流通数据。本研究提出了一种改进的FUP算法,数据库中的事务标识符(TID)只扫描一次数据库,使计算大大低于FUP算法。通过检测大学图书馆的流通数据,实验结果表明,与标准FUP算法和SFUA算法相比,与借贷和记录交易的增加,改进的FUP算法大大提高了操作效率,可以帮助图书馆搞好科学图书推荐。

1。介绍

关联挖掘是数据挖掘的主要研究方向。研究的关联挖掘算法,AIS (1],SETM [2],先天[3),设计马力(4),和其他算法相继出现。上述关联挖掘算法,我只能从静态数据库关联规则(5)属于静态数据挖掘算法。然而,实际情况是,常常需要一批新的事务添加到原始数据库事务,或调整阈值的支持度和信心。在这种情况下,一个方法需要实现矿业协会的更新问题。增量关联规则算法主要处理两种类型的问题:阈值和更新数据库的动态调整。关于问题的动态阈值的调整,主要代表IUA算法(6]冯育才等,提出的算法和相关的算法也被提出。文献[7)采用Can-tree排序的数据量的提高频繁项集挖掘的效率在时间和空间。文献[8)提高报警预测精度和模型通过警报重量训练效率和沟通预测计划挖掘基于Can-tree加权增量关联规则挖掘。文献[9)提出了一个并行的基于信息熵的增量式关联规则挖掘算法和遗传算法解决动态设置支持度阈值的问题。管理方主要有(10],FUP2 [11],SFUA [12)算法用于数据库更新的问题。管理方是第一个增量关联挖掘算法,解决了数据更新挖掘的问题,但它也有一些缺点,如产生大量的候选项集,多次遍历数据库等等。针对上述缺陷,学者们改进该算法。文献[13使用强大的频繁项目集的组合连接和prepruning来提高算法的执行效率。文献[14)提出了一种基于属性更新关联规则有效地方法改变。文献[15)将数据集转换成布尔矩阵减少扫描的数量和存储的数据库。文献[16)结合了反向索引技术和树结构来解决问题的低效率和高成本计算增量更新挖掘算法。

在这项研究中,一种改进的FUP算法。该算法使用数据库中的事务标识符TID得到频繁项集。只需扫描数据库一次,然后通过连接获得的候选项集lK−1l1,所以,算法的计算量明显小于分社。通过大学图书馆的流通数据的检测,实验结果表明,与标准FUP算法和SFUA算法相比,与借贷记录交易的增加,改进的FUP算法大大提高了操作效率,并能科学地帮助图书馆做好图书推荐。

2。增量关联挖掘算法

2.1。FUP算法
2.1.1。FUP算法的核心思想

假设原始数据集dB,新的数据集dB和更新后的数据集(dB∪dB)。频繁项目集LDB的数据集DB和支持程度吃晚饭db。支持度吃晚饭db在新数据集db,度最小支持度,FUP算法的核心思想是17)如下:(1)频繁项目集ldb生成的数据集db先验的算法,对于任何频繁项目集t,如果 ,然后t将数据集的频繁项目集(DB∪DB)。(2)对于任何频繁项目集t,如果 ,计算支持度吃晚饭dbt在db通过扫描新的数据集,然后根据原始数据集的支持度supDB计算支持度一口(db∪db) itemsett的公式更新数据集。如果吃晚饭(DB∪DB)>度,然后itemsett频繁项目集的数据库(DB∪DB),否则是罕见的itemset。这个公式是: (3)对于任何频繁项目集t,如果 ,计算支持度吃晚饭DBt在DB通过扫描新的数据集,然后计算项集t根据支持程度上一口db在数据集(DB∪DB),如果吃晚饭(DB∪DB)>度,t频繁项目集的数据库(DB∪DB),否则是罕见的itemset。

2.1.2。FUP算法的分析

FUP算法使用的频繁项集和支持原始数据集的生成更小的候选项目集。更新的时候,它减少了扫描尽可能多的原始数据集,以提高算法的效率。然而,该算法也有明显的缺点[18]:(1)计算支持的消费太大,需要多次扫描数据库,效率低下。(2)先天获得的候选项集的连接。与数据库中的条目的数量的增加,会产生大量的候选项集,和算法的时间复杂度将大幅上升。

2.2。FUP2算法

FUP2算法更新数据库分为①数据集更新后保持不变;②额外的数据集;③删除数据集。该算法采用apriori_gen函数和 在频繁的k1项目集的更新数据集(DB∪DB) k-itemset生成一个候选人Ck,Ck是一种的超集 然后,使用 在频繁的原始数据集的k-itemset DB,候选项目集Ck分为频繁项集和频繁项目集的原始数据集DB。更重要的是,这两项集进行处理,最终得到的频繁k-itemset (DB∪DB)。与FUP算法相比,FUP2算法提高了操作效率,但它仍然使用先验的算法在生成候选项集,喜欢FUP算法,它将产生太多的候选项集。

2.3。SFUA算法

SFUA算法是一种增量式关联挖掘算法提出了陈劲松和其他人。算法主要是基于先天apriori_gen函数算法生成频繁项集的集合db。使用itemset的财产”X,如果X LDB的,X Ldb的,必须有X l(DB∪DB)。“频繁项目集分为三个独立的部分:①某项集是两个数据集的频繁项目集数据库和数据库;②itemset是DB的频繁项目集,而在DB频繁项集;③一定itemset db的频繁项目集,但在db是罕见的

SFUA算法扫描数据集如下:扫描原始事务数据集DB只有一次;新添加的数据集,db扫描k+ 1次;扫描的总数量是| DB | + (k+ 1)| db |。当数据集相对较小,SFUA算法的效率真是高。然而,当新添加的数据集很大,SFUA算法也有太多的频繁项集的问题。

3所示。改进的基于FUP算法NFUP算法

3.1。增量更新问题分析

改进的算法是基于下面的定理和性质(19),年代(X)是一组组成的标识符,元素的数量年代(X)是支持的X,Ck是候选人k项目集,路是频繁的kitemset。

定理1。项目集的充分必要条件X成为一个频繁项目集是:吃晚饭(DB∪DB) (X)≥(| DB | + | |)

定理2。如果项目集X不属于原来的频繁项目集,必要条件X成为一个频繁项集是:SUPdb (X)≥| db | 度。

定理3。 ,年代(C)可以获得两个元素年代(X),年代(Y)年代k−1,

属性1。如果项目集X是一个频繁项集(DB∪DB),然后呢X至少是频繁的在数据库或数据库。

属性2。如果所有的候选项集Ck可以生成lk−1 lk−1还有t Lk-1,候选项目集也可以生成的lk−1 l1。
从定理1,定理2和财产1结合支持计算公式,我们可以推断出SUPDB (t) + SUPDB (t)≥数据库(DB | | + | |) 度,以确定是否itemset的频繁项目集更新数据集,我们需要比较whetherSUPDB (t)+ SUPdb (t)≥(| DB | + | |) 度是正确的。
根据上面的推导公式和FUP算法,当添加原始数据集的数据集db数据库,项目集有下列情形:(1)如果一个项集是两个数据集的频繁项目集DB和DB,项目集也是频繁项目集的数据集(DB∪DB)。(2)对于任何频繁项目集t,如果有下列两种情况之一:① ,如果判断是否t是一个频繁项目集的数据集(DB∪DB),有必要比较SUPDB之间的关系(t)+ SUPdb (t)和数据库(DB | | + | |) 度。如果前者大于后者,这是一个频繁项集,否则这是一个罕见的itemset。(3)此外,t也必须频繁项目集的更新数据集(DB∪DB)如果 例(1)和(3),很容易确定是否频繁项集,因此,改进算法侧重于案例(2),问题是如何quickly发现频繁项集。从房地产2,它是通过连接lk−1l1当候选生成候选集。改进的算法取代了先验的算法中使用的原始FUP算法得到的候选项目集lk - 1自动连接。FUP算法主要涉及数据库的频繁项集。针对该算法的缺点,本研究提出了一个算法NFUP获得候选项集的连接lk−1l1。当生成频繁项集,它使用数据库中的事务标识符TID获得它们。生成频繁项集,只有事务标识符TID列表和支持程度需要保留。改进后的算法NFUP只需要扫描原始数据集和新数据集。

3.2。执行过程NFUP最低的支持

(1)扫描原始数据库DB和新数据集分别DB。DB和DB的候选项目集 , ,记录事务标识符TID列表对应每一项,并获得频繁1-itemset DB和DB最低的支持,和马克他们 (2)根据定理3,计算在db数据库的支持程度。当是支持 在db数据库的支持程度。根据公式:SUPDB (t)+ SUPdb (t),计算的支持程度 (DB∪DB)。如果SUPDB (t)+ SUPdb (t)≥(| DB | + | |) 度是真的,它是(DB∪DB)的频繁项目集,否则它是罕见的itemset。为了避免重复操作, 获得相同的项目 删除的 ,和计算支持度 在db。如果支持的程度 在数据库是空的,这意味着一个项目在db从未出现在db。然后继续计算支持度 (DB∪DB)。如果它比数据库(DB | | + | |) 度,这个项目可以被保留作为一个频繁项集。(3)合并的频繁项集 (DB∪DB)和频繁项集 (DB∪DB)获得的频繁1-itemset (DB∪DB)。(4)k> 1,计算项集的 ,获得 根据步骤(3)分别和修剪,然后获得 采用改进Apriori_gen算法 生成候选项集的 改进的想法地产紧随其后2显示候选项目集Ck也可以生成lk−1 l1。的选择lk−1有关k。当k= 2,它实际上是l1连接l1,l修剪后1是频繁项目集。

继续执行步骤(1),(2)和(3)在上述过程得到频繁项集k(DB∪DB)直到候选项目集k+ 1 (DB∪DB)是空的,直到执行过程结束。

3.3。NFUP主要功能执行函数

(1)建立标识符Get_TID()函数1项集合Get_ TID(数据库)功能:(1)C1={数据库集合)}(2)为所有项目C C1年代(C)=c/ /年代包含一组标识符,c每一项的C1(3)结束了(4)对所有t / /一个项目的数据库年代(5)Ct=子集(t,C1)(6)对所有C CtS (C) =年代(C)∪t。TID() / /构建1-itemset形成1的标识符集合(2)生成候选项集的过程Apriori_gen()函数Apriori_CI()函数:(1)对所有lk−1 lk−1/ /lk−1是一项lk−1(2)对所有lk−1 L1做(3)lk−1=lk−1 l1(4)S (lk)=年代(lk−1) 年代(l1/ /生成k-itemsets(5)Ct =子集(t,C1)/ / k-itemset标识符的列表

3.4。案例分析的NFUP

为了更好地理解使用NFUP算法寻找频繁项集的过程中,列出的例子进行分析。原始数据集DB是已知的,最低是4的支持。具体信息如表所示1。添加一个新的数据集db,最低2的支持。具体的事务数据如表所示2。更新后的数据集的最小支持值(DB∪DB)是6。

挖掘频繁集的过程使用改进算法NFUP如图1

扫描原始数据库DB和新数据集DB分别获得候选项目集,如图1。①, , 候选项集分别为原始数据集和新数据集。那么频繁项集 , DB和DB得到最低的支持。在这里,从改进算法获得相应的标识符和每一项Get_TID()函数。

在图1。②根据定理3的支持程度 计算在DB, DB的支持度计算(DB∪DB)。{的支持程度1在DB是3},在DB是4。根据公式SUPDB (1)+ SUPdb (1),3 + 4 > 6计算,所以{1}的频繁1-itemset (DB∪DB)。同样,{2}也频繁项目集(DB∪DB)。{3},{5通过验证}是频繁项集。为了避免重复操作,删除相同的物品 ,剩下的项目集{4}。数的支持程度的{4在数据集(DB∪DB)}。首先计算支持度{4在db}。如果{4}没有出现在,支持数是0,也就是说,{的支持程度4}在 是0,{的支持程度4}在 是8,8比0 + 6的最小支持度,所以它是确定{4}的频繁项目集(DB∪DB)。合并和获得频繁1-itemset {1,2,4}(DB∪DB)。

在图1。(2)删除 分别根据频繁1-itemset (DB∪DB)。采用改进的Apriori_gen算法生成候选项集,然后获得两个频繁项集 。与上面的计算过程中,女伯爵 频繁2 -项集(DB∪DB)和 的频繁2-itemset (DB∪DB)。获得的频繁2-itemsets是:{{1,4},{2,4}}。因为 (DB的频繁2-itemset∪DB)是空的,(DB∪DB)的频繁3-itemset是空的,和所有的频繁项集(DB∪DB) {1,2,4,{1,4},{2,4}}。这是符合FUP算法的挖掘结果。

4所示。NFUP在图书馆中的应用循环数据

为了测试的可行性和有效性改进的增量数据关联规则挖掘算法,图书馆流通数据用于检测。测试环境:4 g内存,CPU 2.50 ghz, window7操作系统,测试软件:WEKA。

4.1。数据预处理

挖掘数据来自于借贷信息的学生从2017年8月到2019年7月从大学图书馆的管理系统导出。有110326条记录的导出的借贷信息。借贷的核心数据信息如表所示3。数据清理、集成、选择和其他处理工作进行贷款信息,数据处理35232条记录。处理过的数据,这本书是可收回的数量分类,分类数量是无所不包的,无所不包的数量对应于22大类分类在中国图书馆。借贷记录广义获得借贷记录交易。交易中的信息表如表所示4

4.2。分析关联规则挖掘的结果

给定的最小支持度为15%,信心是40%,和3000年新数据,挖掘结果如表所示5

从挖掘结果,70.732%的学生借T-books借F-books在同一时间。68.731%的学生同时借H-books和电子书。H和电子书的概率被借来的同时是34.413%,和其他规则是相似的。根据挖掘结果,它可以帮助大学图书馆建立更合理的布局,提高馆藏资源的利用率,科学地帮助图书馆书中做得更好的建议。

为了验证改进算法的运行效率,FUP算法进行对比实验,SFUA算法NFUP算法。因为FUP2算法相当于FUP算法数据库时补充道,所以它不用于比较。当原始数据集实验中使用DB是7000,3000年新数据集DB,和增加(DB∪DB)的数据集,从10000年到30000年,这三个算法的运行时间如表所示6运行时间的比较如图2。执行时间的执行时间更新数据集(DB∪DB)在原始数据库中的所有频繁项集是已知的。从图2事务数据的增加,FUP算法的执行时间,SFUA算法和算法NFUP逐渐增加,但NFUP算法的执行时间短于SFUA算法和FUP算法,这主要原因如下:(1)FUP算法需要扫描的原始数据集和新添加的一个很多次。哈希表是用来存储optionset候选人。在采矿过程中,哈希表需要搜索,而SFUA算法扫描原始事务数据集DB一次;为新添加的数据集db扫描k+ 1次。NFUP算法只需要遍历一次数据库获取事务标识符TID每个项目,并得到频繁项集根据事务标识符。(2)由连接算法NFUP得到频繁项集lK−1l1,李子频繁k-itemsets之前生成候选项集。量的计算和算法的候选项集的数量明显减少。与FUP算法和SFUA算法相比,该算法更有效。

5。总结与展望

增量关联挖掘算法FUP解决了数据更新的问题,但是该算法需要多次遍历数据库,花了很多努力处理候选项目集与几何增长。在这项研究中,管理方是改善。改进后的算法NFUP使用数据库中的事务标识符TID得到频繁项集。它只需要遍历数据库一次。通过连接获得的候选项集lk - 1和L1,算法的计算量明显小于分社。实验结果的借贷在图书馆管理系统数据显示,与FUP算法和SFUA算法相比,与交易数据的数量的增加,改进后的算法NFUP提高操作效率,可以有效地帮助图书馆做好图书推荐。在接下来的研究中,我们可以集中在一个特定的子类别的借贷关系(如类别TP),挖出受欢迎的书,试图挖出专业和图书类别之间的关系,找出借贷不同专业的学生的利益,根据学生借贷和推荐书籍的习惯。

数据可用性

使用的数据来支持本研究的结果包括在本文中。

的利益冲突

作者宣称没有利益冲突。

确认

中国国家自然科学基金(61673251);福建中青年教师教育研究项目(JAT210453);福建省级自然科学基金(2019 j01833);福建省自然科学基金项目(2021 j011142)创新和对福建省大学生创业培训项目(s202010397070);创新和创业培训项目为大学生在福建省(s202110397068)。