1.一种基于数组存储的序列模式挖掘方法,其特征在于包括:S100、通过如下基于数组存储的序列模式存储方法,存储序列模式的事务:对于每一个序列,设置一个存储数组,通过存储数组存储其含有的频繁单项所在事务的序列位置;
包括如下步骤:
通过查找每一个序列,获取满足最小支持度的频繁单项;
对于每一个频繁单项,通过一个对应的存储数组存储其所在事务的序列位置;
S200、将频繁单项逐一进行组合,得到具有两项集的组合序列,判断组合序列是否为频繁序列,得到频繁两项集;
S300、依次进行迭代计算,将得到的新的频繁n项集和频繁单项逐一进行组合计算,直到找不到频繁序列为止;
S300中迭代步骤为:
将具有n个项集的频繁组合序列与频繁单项逐一组合,得到具有n+1个项集的新组合序列;
判断新组合序列是否为频繁序列,如果为频繁序列,以新组合序列为输入进入下一个迭代,否则,停止计算;
其中n为自然数,n大于1且小于等于序列具有的频繁单项的个数;
对于步骤S300,执行如下操作:
将具有n个项集的频繁组合序列与频繁单项逐一进行项扩展运算,得到具有n+1个项集的新组合序列;
根据新组合序列的支持度是否达到最小支持度阈值,判断新组合序列是否为频繁序列,如果新组合序列为频繁序列,保留上述新组合序列对应的存储数组,否组,清理上述新组合序列对应的存储数组;
具有n个项集的频繁组合序列对应的存储数组为数组Sarr,频繁单项对应的存储数组为数组Aarr;
将具有n个项集的频繁组合序列与频繁单项进行项扩展运算,包括:计算数组Sarr与数组Aarr的交集,得到新数组Sarr’;
根据新数组Sarr’是否为空,判断频繁单项与频繁组合序列中的最后项集是否在同一个事务中,如果新数组Sarr’非空,将具有n个项集的频繁组合序列与频繁单项进行项扩展运算,得到新组合序列S’;
将具有n个项集的频繁组合序列与频繁单项逐一进行项扩展运算时,累计对应非空数组的数目,通过非空数组累计数目除以序列总数目得到对应新组合序列的支持度;
步骤S300,执行如下操作:
将具有n个项集的频繁组合序列与频繁单项逐一进行序列扩展运算,得到具有n+1个项集的新组合序列;
根据新组合序列的支持度是否达到最小支持度阈值,判断新组合序列是否为频繁序列,如果新组合序列为频繁序列,保留上述新组合序列对应的存储数组,否组,清理上述新组合序列对应的存储数组;
具有n个项集的频繁组合序列对应的存储数组为数组Sarr,频繁单项对应的存储数组为数组Aarr;
将具有n个项集的频繁组合序列与频繁单项逐一进行序列扩展运算,包括如下步骤:计算数组Aarr的最大值Aarr[max]以及数组Sarr的最小值Sarr[0];
对Aarr[max]与Sarr[0]进行比较,若有Sarr[0]小于Aarr[max],则存在频繁组合序列与频繁单项的序列扩展模式,频繁组合序列与频繁单项组成的新组合序列对应的存储数组Sarr’,存储数组Sarr’中存储的内容为数组Aarr[max]中所有大于Sarr[0]的值;
将具有n个项集的频繁频繁组合序列与频繁单项逐一进行序列扩展运算时,对Aarr[max]与Sarr[0]进行比较,若有Sarr[0]小于Aarr[max],累计对应的存储数组Sarr’的数目,将存储数组Sarr’的累计数目除以序列总数目,得到对应新组合序列的支持度。