Apriori算法是一种用于数据挖掘和关联规则挖掘的经典算法,用于发现数据集中的频繁项集以及它们之间的关联规则。该算法是由Agrawal和Srikant于1994年提出的,它基于一种称为“逐层搜索”的思想,逐步构建候选项集并剪枝以减少计算量。
Apriori算法的基本原理:
-
频繁项集: 频繁项集是在数据集中经常一起出现的项(项可以是单个元素、单词等)。在一个频繁项集中,任何子集也必须是频繁的。频繁项集的支持度是指在数据集中出现该项集的次数。
-
最小支持度: 用户需要指定一个最小支持度阈值,该阈值决定了哪些项集可以被认为是频繁的。项集的支持度必须大于或等于最小支持度才能被认为是频繁项集。
基本步骤:
-
生成候选项集: 首先,算法会扫描数据集并统计每个项的出现次数,然后根据最小支持度筛选出单个项作为频繁1项集。接下来,算法通过组合已知频繁 (k-1) 项集来生成候选 k 项集。这些候选项集将在下一步中进行验证。
-
验证候选项集: 算法会再次扫描数据集,计算每个候选项集的支持度(出现次数),并将其与最小支持度进行比较。只有支持度大于等于最小支持度的候选项集被认为是频繁的,这些项集将被用于生成更大的候选项集。
-
重复步骤1和步骤2: 使用频繁k项集来生成候选(k+1)项集,并验证它们的支持度。该过程会迭代,直到不再有新的频繁项集产生。
-
生成关联规则: 一