如何进一步提高基于Apriori算法的挖掘效率?


有一些改进原始Apriori算法效率的改进算法版本,如下所示:

基于哈希的技术(将项集哈希到相应的桶中)——基于哈希的技术可以用来减少候选k-项集Ck(k > 1)的大小。例如,在扫描数据库中的每个事务以从C1中的候选1-项集创建频繁1-项集L1时,可以为每个事务创建一些2-项集,将它们哈希(即映射)到哈希表结构的多个桶中,并增加相应的桶计数。

事务压缩——不包含某些频繁k-项集的事务不可能包含某些频繁(k+1)-项集。因此,可以标记或删除此类事务以避免进一步考虑,因为后续扫描数据库以查找j-项集(其中j > k)将不需要它。

分区——可以使用一种分区技术,只需要两次数据库扫描就可以挖掘频繁项集。它包括两个阶段:在第一阶段,算法将D的事务细分为n个不相交的分区。如果D中事务的最小支持阈值为min_sup,则分区中最小支持计数为min_sup ×该分区中事务的数量。

对于每个分区,都会发现分区内的所有频繁项集。这些被称为局部频繁项集。该过程使用特定的数据结构,对于每个项集,记录包含该项集中的项的事务的TID。这使得它能够仅通过一次数据库扫描就能找到所有局部频繁k-项集(k = 1, 2...)。

局部频繁项集可能与整个数据库D频繁相关,也可能不频繁相关。任何可能与D频繁相关的项集都必须作为频繁项集出现在部分分区中。因此,所有局部频繁项集都是D的候选项集。来自所有分区频繁项集的集合构成D的全局候选项集。在第二阶段,组织对D的第二次扫描,其中评估每个候选的支持度以确定全局频繁项集。

抽样——抽样方法的基本思想是从给定的数据D中选择一个随机样本S,然后在S中而不是在D中搜索频繁项集。在这种方法中,可以牺牲一定程度的准确性来换取效率。S的样本大小使得可以在主内存中完成在S中搜索频繁项集的操作,因此总体上只需要扫描S中事务一次。

更新于:2021年11月24日

11K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.