📜  数据分析中的Toivonen算法

📅  最后修改于: 2021-08-29 02:33:32             🧑  作者: Mango

在本文中,我们将讨论数据分析中的Toivonen算法。

Toivonen的算法:
它以与简单采样算法不同的方式使用变态。给定足够的主内存,该算法将对少量样本进行一次遍历,并对数据进行一次全面遍历。它既不会给出假阴性也不会给出肯定的结果,但是有一个很小但有限的前景,那就是它根本不会产生任何响应。在这种情况下,需要对其进行复制,直到给出响应为止。在此算法中,在生成所需的平均通过次数之前,只有频繁的项目集是一个小的常数。

  • Toivonen的算法通过选择输入数据集的一小部分样本并从中查找候选频繁项集来启动。
  • 有关算法的过程与简单随机算法完全相同,不同之处在于在此算法中必须将阈值设置为小于比例值的值。
  • 也就是说,如果完整数据集的支持阈值为s,样本量为分数p,则在样本中查找频繁项集时,请使用0.9ps或0.8ps的阈值。
  • 阈值越小,计算样本中频繁出现的所有项目集所需的主存储器就越多,但是当算法中断以提供响应时,我们越有可能规避这种情况。
  • 组装好样本的频繁项目集的集合之后,我们接下来设置负边界。这是样本中不经常使用的项目集的集合,但是它们的所有即时子集(通过精确地删除一项而建立的子集)在样本中也是经常使用的。

为了总结Toivonen的算法,我们遍历整个数据集,对样本中经常出现的或负边界以下的所有项目集进行计数。
有两个可行的结果:

  1. 在完整的数据集中,没有负边框的成员很频繁。在这种情况下,频繁项集的准确集合与样本中被标记为总计频繁项的那些项集相同。
  2. 完整的负边界数据集中的成员很少。在这种情况下,我们无法确定在负边界或样本的频繁项集的集合中是否没有一些甚至更大的集合,这些集合在整体上也很频繁。因此,我们目前无法给出响应,而必须使用新发现的随机样本对算法进行循环。

为什么Toivonen的算法有效:
简而言之,Toivonen的算法永远不会构造出误报,因为它仅描述那些已被计数并发现总体上是频繁出现的项目集的频繁发生。为了说它永远不会构成一个假阴性,我们必须证明,当整个阴性边界中的任何一个摩根都没有出现时,那么就不会有任何项目集如下。

  1. 在整个项目集中,它的结论是频繁出现。
  2. 但是既不存在负边界,也不存在给定样本的频繁项集的集合。