简单英语的 Apriori 算法?

机器算法验证 数据挖掘 算法 直觉 常客 先验的
2022-03-04 19:01:00

我阅读了关于 Apriori 的 wiki 文章。我很难理解 prune 和 Join 步骤。谁能用简单的术语解释一下 Apriori 算法的工作原理(这样像我这样的新手可以很容易理解)?

如果有人解释其中涉及的逐步过程,那就太好了。

3个回答

维基百科的文章并不是特别令人印象深刻。您可能会发现这些幻灯片更有帮助1、2、3

在每个级别,您都有频繁的项目集(有足够的支持)。 kk

在下一个级别,您需要考虑 +这是先验属性:频繁项集的任何子集都必须是频繁的。k1

因此,如果您在级别 2 知道集合是唯一具有足够支持的集合,那么在第 3 级,您将它们相互连接以产生 但您只需要进一步考虑:其他每个都有支持不足的子集(例如)。{1,2}{1,3}{1,5}{3,5}{1,2,3}{1,2,5}{1,3,5}{2,3,5}{1,3,5}{2,3}{2,5}

Apriori算法是一种用于数据挖掘的关联规则挖掘算法。它用于在给定数量的事务中找到频繁项集。

它基本上包括两个步骤

  1. 自加入
  2. 修剪

重复这些步骤 k 次,其中 k 是项目数,在最后一次迭代中,您将获得包含 k 个项目的频繁项目集。

在此处查看带有详细示例的非常简单的解释http://nikhilvithlani.blogspot.com/2012/03/apriori-algorithm-for-data-mining-made.html

它有一个简单的解释,没有任何复杂的方程式。

Apriori 简单的英语。

Apriori 采用称为逐层搜索的迭代方法,其中k- itemsets用于探索(k+1)-itemsets首先,通过扫描数据库以累积每个项目的计数,并收集满足最小支持的那些项目,找到频繁1-项目集的集合。结果集表示为L1接下来,L1 用于查找L2,即频繁2 项集的集合,用于查找 L3,以此类推,直到找不到更多的频繁k 项集每个 Lk 的发现都需要对数据库进行一次全面扫描。

在最后一次迭代中,您最终会得到许多k-itemset,它们基本上称为关联规则为了从所有可能的规则集中选择有趣的规则,应用了各种约束措施,例如支持度置信度。

术语和术语

  • 1-itemsets 表示 {a} , {b} , {c}
  • 2-itemsets 表示 {a, b} , {d, d} , {a, c}
  • K-itemsets 表示 {i1, i2, i3,... ik}, {j1, j2, j3, .... jk}

加入步骤:意味着 1-itemset 与自身连接以生成 2-itemset。

修剪步骤:这里从连接得到的结果集是用最小支持阈值过滤的。

基数集:修剪步骤的结果集。

支持= 包含“a”和“b”的交易数量/交易总数。

支持 => supp(a,b) => p(a U b)

自信= 包含“a”和“b”的交易数量/包含“a”的交易数量。

Confident => con (a, b) == > P (b|a) 只不过是条件概率。