掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Pre-HUSPM的数据库序列插入处理方法

文献发布时间:2023-06-19 19:28:50


一种基于Pre-HUSPM的数据库序列插入处理方法

技术领域

本发明属于数据挖掘领域,具体涉及一种基于Pre-HUSPM的数据库序列插入处理方法。

背景技术

高效用序列模式挖掘(HUSPM)算法可以用于分析用户的购物习惯,HUSPM会考虑每个项目的权重、单位利润等。当序列集的效用大于用户设置的最小效用阈值时,则序列集为高效用序列模式。通常,HUSPM算法在静态数据库下运行,但在实际应用中,几乎每天都有新的数据添加,这可能导致原来发现的高效利用序列模式会失败,或者更新数据库后出现新的一些新信息。因此,在传统的动态数据挖掘中,每次有少量数据进入时,都需要重新扫描原始数据库,重新扫描原始数据库会消耗大量的资源和时间。尤其当插入少量数据时,实质对整个数据库没有影响,此时更新数据库会造成资源浪费,维护成本增加,因此高效地维护和更新挖掘的高效用序列模式变得尤为重要。

发明内容

为了解决上述问题,本发明提出了一种基于Pre-HUSPM的数据库序列插入处理方法,将pre-large概念和基于投影的挖掘算法P-HUSPM进行融合构建了增量算法Pre-HUSPM,用于高效挖掘高效用序列模式,减少原始数据库的重新扫描次数。

本发明的技术方案如下:

一种基于Pre-HUSPM的数据库序列插入处理方法,构建增量算法Pre-HUSPM来高效挖掘高效用序列模式,具体包括如下步骤:

步骤1、向原始数据库

步骤2、根据原始数据库

步骤3、扫描待插入数据库

步骤4、将自上次重新扫描原始数据库以来新事务的总效用值与待插入数据库

步骤5、判断新数据库

进一步地,步骤1中,设原始数据库

进一步地,步骤2中,安全值

(1);

其中,

的计算公式如下:

(2);

其中,

(3);

其中,

进一步地,步骤3中,按照与公式(2)和(3)相同的方式计算得到待插入数据库

进一步地,步骤4中的具体判断准则为:设

步骤4.1、从待插入数据库

步骤4.2、扫描1-候选集,更新原有信息的序列效用和序列加权效用,依次产生2-候选集,继续更新原有信息的序列效用和序列加权效用,直到没有候选集的生成;同时,设置

步骤4.3、当

进一步地,步骤4.2的具体过程如下:

步骤4.2.1、计算新数据库

(4);

对于候选集

(5);

(6);

其中,

(7);

其中,

(8);

其中,

(9);/>

其中,

步骤4.2.2、对于在大序列加权效用序列

步骤4.2.3、对于

如果原始数据库

步骤4.2.4、从

进一步地,步骤4.2.2的子步骤如下:

子步骤4.2.2.1、更新在新数据库

(10);

其中,

子步骤4.2.2.2、更新新数据库

(11);

其中,

子步骤4.2.2.3、如果

进一步地,步骤4.3的具体过程如下:

步骤4.3.1、合并待插入数据库

步骤4.3.2、对于每个

步骤4.3.3、设序列的加权效用比为

步骤4.3.4、执行递归挖掘算法,运用递归挖掘算法,生成多项集的投影数据库,并生成多项集的

进一步地,步骤4.3.4中,递归挖掘算法的具体过程如下:

步骤4.3.4.1、遍历

步骤4.3.4.2、计算

步骤4.3.4.3、将当前参数传入进去,递归调用挖掘算法过程,直到

本发明所带来的有益技术效果。

提出了一种新的序列模式挖掘算法Pre-HUSPM,用于处理序列插入问题,当插入少量数据时,不需要更新整个数据库,避免造成资源浪费。

基于矩阵投影的高效用序列模式挖掘算法(P-HUSPM),可以减少序列挖掘中候选集的数量,从而加快挖掘高效用序列集的处理时间;因此由于不需要频繁地重新扫描数据库的次数,因此可以在很大程度上减少运行时间。

提出了一个新的概念

附图说明

图1为本发明基于Pre-HUSPM的数据库序列插入处理方法的流程图。

图2为本发明实验中SIGN数据集在效用阈值上限

图3为本发明实验中LEVIATHAN数据集在效用阈值上限

图4为本发明实验中FIFA数据集在效用阈值上限

图5为本发明实验中BIBLE数据集在效用阈值上限

图6为本发明实验中Kosarak10k数据集在效用阈值上限

图7为本发明实验中BMS数据集在效用阈值上限

具体实施方式

下面结合附图以及具体实施方式对本发明作进一步详细说明:

本发明所提及的数据库为序列数据库,序列数据库中包括大序列、预大序列、小序列。当序列的支持度大于支持度上限阈值时,则该序列为大序列;当序列的支持度小于支持度上限阈值且大于支持度下限阈值时,则该序列为预大序列;当序列的支持度小于支持度下限阈值时,则该序列为小序列。其中,预大序列在未来很可能成为大序列。

本发明融合了pre-large概念和基于投影的挖掘算法P-HUSPM,提出了Pre-HUSPM算法,主要通过设置阈值

将新序列数据库添加到原始序列数据库时会出现九种情况:情况1为将新序列数据库的大序列插入到原始序列数据库的大序列中;情况2为将新序列数据库的预大序列插入到原始序列数据库的大序列中;情况3为将新序列数据库的小序列插入到原始序列数据库的大序列中;情况4为将新序列数据库的大序列插入到原始序列数据库的预大序列中;情况5为将新序列数据库的预大序列插入到原始序列数据库的预大序列中;情况6为将新序列数据库的小序列插入到原始序列数据库的预大序列中;情况7为将新序列数据库的大序列插入到原始序列数据库的小序列中;情况8为将新序列数据库的预大序列插入到原始序列数据库的小序列中;情况9为将新序列数据库的小序列插入到原始序列数据库的小序列中。

情况1、情况5、情况6、情况8和情况9是基于计数的加权平均,不会影响最终的大序列集。情况2和情况3可能会删除一些现有的大序列集,而情况4和7可能会添加新的大序列集合。当同时保留大序列集和预大序列集时,可以很好地处理情况2、情况3和情况4的这些情况。

而上述情况7是本发明的主要研究重点,当出现情况7,即插入的数据库资料不是很大的时候,实质是不需要更新数据库的,此时现有技术会去更新数据库,造成了资源浪费。

针对该问题,本发明提出了一种基于Pre-HUSPM的数据库序列插入处理方法,采用了如下定理,并对定理进行了证明。

定理.设

证明:从

;/>

对于情况7中的序列,如果序列

如果序列

在序列挖掘中,插入数据库

其中,

根据该定理,可以有效地处理情况7中的序列。

一种基于Pre-HUSPM的数据库序列插入处理方法,具体包括如下步骤:

步骤1、向原始数据库

本发明实施例中,原始数据库

原始交易资料数据库和新的交易资料数据库均是包含一组序列的数据库,设原始数据库

原始交易资料数据库包括

待插入数据库

步骤2、根据原始数据库

安全值

(1);

其中,

的计算公式如下:

(2);

其中,

(3);

其中,

本发明实施例中,预先设定效用阈值上限

步骤3、扫描待插入数据库

按照与公式(2)和(3)相同的方式计算得到待插入数据库

本发明实施例中,

步骤4、将自上次重新扫描原始数据库以来新事务的总效用值与

步骤4.1、从待插入数据库

本发明实施例中,生成的1-候选集为:

步骤4.2、扫描1-候选集,更新原有信息的序列效用和序列加权效用,依次产生2-候选集,继续更新原有信息的序列效用和序列加权效用,直到没有候选集的生成。同时,设置

步骤4.2.1、计算新数据库

(4);

本发明实施例中,

对于候选集

(5);

(6);

其中,

(7);

其中,

(8);/>

其中,

(9);

其中,

例如本发明实施例中,

例如,

子序列

步骤4.2.2、对于在大序列加权效用序列

子步骤4.2.2.1、更新在新数据库

(10);

其中,

本发明实施例

子步骤4.2.2.2、更新新数据库

(11);

其中,

本发明实施例

子步骤4.2.2.3、如果

本发明实施例中,

步骤4.2.3、对于

如果原始数据库

例如本发明实施例中,

步骤4.2.4、从

步骤4.3、当

步骤4.3.1、合并待插入数据库

步骤4.3.2、对于每个

步骤4.3.3、设序列的加权效用比为

步骤4.3.4、执行递归挖掘算法,运用递归挖掘算法,生成多项集的投影数据库,并生成多项集的

具体过程如下:

步骤4.3.4.1、遍历

定义:设有两个序列

例如,根据上述定义,对序列

步骤4.3.4.2、计算

步骤4.3.4.3、将当前参数传入进去,递归调用挖掘算法过程,直到

递归挖掘算法的伪代码如下:

1: for 每一个序列

2: 构建序列

3: end for;

4: for 每一个

5: 计算

6: if

7: 计算

8: 将序列

9: else if

10:计算

11:将序列

12: end if;

13: end for;

14: Mining(

步骤5、判断新数据库

本发明实施例中,

最终得到的

大序列加权效用序列集

预大序列加权效用序列集

更新后的新数据库

本发明中,Pre-HUSPM算法的伪代码如下:

输入:一个项目利润表

输出:新数据库

1: 计算安全序列效用界限

2: for each

3:扫描数据库

4: end for;

5: 计算

6: 如果

7: 计算总效用

8: 设置

9: 生成1-项候选集

10:while

11:for each

12: 计算

13: 计算

14:end for;

15:for each

16: 调用效用求和算法;

17:end for;

18:for each

19: 调用效用求和算法;

20:end for;

21:从(

22:设置

23:end while;

24: else;

25: 合并待插入数据库

26:for each

27: 计算

28:end for;

29:计算

30:设置

31:for each

32:if

33: 将

34:else if

35: 将

36:end if;

37: end for;

38: 如果

39: Mining(

40: end if;

41: for each

42:if

43: 将序列

44:end if;

45: end for;

46: if

47: 设置

48: else;

49: 设置

50: end if;

51: 设置

上述伪代码中用到的效用求和算法的伪代码如下:

1:

2:

3: if

4:将序列

5: else if

6:将序列

7: end if;

为了证明本发明算法的优越性与可行性,进行了对比实验。将本发明提出的Pre-HUSPM算法与P-HUSPM算法和Pre-HUSPM-TSU算法进行了比较。实验采用6个不同规模且具有不同特征的真实数据集,数据集的名称分别为SIGN、LEVIATHAN、FIFA、BIBLE、Kosarak10k、BMS,该六个数据集均来自SPMF网站。其中,SIGN是包含许多非常长的序列的密集数据集;LEVIATHAN和FIFA均是包含许多长序列的中等密度数据集;BIBLE是一个中等密度的数据集,包含许多中等长度的序列;BMS和Kosarak10k均是稀疏数据集,只有一些长序列。对于所有数据集,都满足高斯分布。在实验中,将每个数据集分为一个原始数据集和100个新数据集。该数据集的特征属性具体为:SIGN数据集的序列数量为730个,不同项目的数量为267个,平均序列长度为52个,最大序列长度为94个,原始数据库的序列个数为230个,待插入数据库的序列个数为5个;LEVIATHAN数据集的序列数量为5834个,不同项目的数量为9025个,平均序列长度为33.8个,最大序列长度为100个,原始数据库的序列个数为2834个,待插入数据库的序列个数为30个;FIFA数据集的序列数量为20450个,不同项目的数量为2990个,平均序列长度为36.2个,最大序列长度为100个,原始数据库的序列个数为10450个,待插入数据库的序列个数为100个;BIBLE数据集的序列数量为36369个,不同项目的数量为13905个,平均序列长度为21.6个,最大序列长度为100个,原始数据库的序列个数为21369个,待插入数据库的序列个数为150个;Kosarak10k数据集的序列数量为10000个,不同项目的数量为10094个,平均序列长度为8.1个,最大序列长度为608个,原始数据库的序列个数为1000个,待插入数据库的序列个数为90个;BMS数据集的序列数量为59601个,不同项目的数量为497个,平均序列长度为2.5个,最大序列长度为267个,原始数据库的序列个数为39601个,待插入数据库的序列个数为200个。

本发明实验在六个不同的数据集上将效用阈值上限

通过选取不同的

当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

相关技术
  • 一种基于时间序列的数据库处理方法、设备及介质
  • 一种基于时间序列数据库的监控数据的处理方法
技术分类

06120115925446