Apriori算法

时间:2009-08-08 08:46:23

标签: algorithm apriori

我之前已经多次听说过Apriori算法,但从来没有时间或机会深入研究,有人能用简单的方法向我解释这个算法的工作原理吗?另外,一个基本的例子可以让我更容易理解。

4 个答案:

答案 0 :(得分:6)

请参阅Top 10 algorithms in data mining(免费访问)或The Top Ten Algorithms in Data Mining。后者给出了算法的详细描述,以及如何获得优化实现的细节。

答案 1 :(得分:6)

Apriori算法

它是用于数据集中频繁模式挖掘的候选生成和测试方法。你必须要记住两件事。

Apriori修剪原则 - 如果任何项目集不经常,则不应生成/测试其超集。

Apriori Property - 只有当(k+1)-itemset个子集的所有子频繁出现时,给定(k+1)-itemset才是候选人k-itemset

现在,这里是4步的apriori算法。

  1. 最初,扫描数据库/数据集一次以获得频繁的1-itemset
  2. k+1个频繁项目集生成长度k 候选项目集。
  3. 测试针对数据库/数据集的候选人。
  4. 当不能生成频繁或候选集时终止。
  5. 解决的例子

    假设有一个交易数据库如下,包含4个交易,包括交易ID和用它们购买的物品。假设最低支持度为min_sup2。术语“支持”是指存在/包含某个项目集的交易数量。

    交易数据库

    tid  | items
    -------------
    10   | A,C,D
    20   | B,C,E
    30   | A,B,C,E
    40   | B,E
    

    现在,让我们通过DB的第一次扫描创建候选1-itemsets。它被简单地称为C_1的集合如下。

    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {D}   |  1
      {E}   |  3
    

    如果我们使用min_sup对此进行测试,我们会发现{D}不符合min_sup的{​​{1}}。因此,它不会包含在频繁的2中,我们只需将其称为1-itemset的集合,如下所示。

    L_1

    现在,让我们第二次扫描数据库,并生成候选itemset | sup ------------- {A} | 2 {B} | 3 {C} | 3 {E} | 3 ,我们只需将其称为2-itemsets的集合,如下所示。

    C_2

    如您所见,itemset | sup ------------- {A,B} | 1 {A,C} | 2 {A,E} | 1 {B,C} | 2 {B,E} | 3 {C,E} | 2 {A,B}项集不符合{A,E}的{​​{1}},因此它们不会包含在频繁的min_sup中,2

    2-itemset

    现在让我们对数据库进行第3次扫描,并获得候选人L_2itemset | sup ------------- {A,C} | 2 {B,C} | 2 {B,E} | 3 {C,E} | 2 ,如下所示。

    3-itemsets

    您可以看到,C_3itemset | sup ------------- {A,B,C} | 1 {A,B,E} | 1 {A,C,E} | 1 {B,C,E} | 2 {A,B,C}不满足{A,B,E}的{​​{1}}。因此,它们不会包含在频繁的{A,C,E}min_sup中,如下所示。

    2

    现在,最后,我们可以计算可以由itemset生成的关联/关联规则3-itemsetL_3itemset | sup ------------- {B,C,E} | 2 值{ {1}}如下。

    support (supp)

答案 2 :(得分:4)

好吧,我假设您已经阅读了维基百科条目,但您说“一个基本的例子会让我更容易理解”。维基百科就是这样,所以我假设你没有阅读它,并建议你这样做。

阅读wikipedia文章。

答案 3 :(得分:2)

Apriori的最佳介绍可以从这本书下载:

http://www-users.cs.umn.edu/~kumar/dmbook/index.php

你可以免费下载第6章,非常清楚地解释Apriori。

此外,如果你想下载一个Java版本的Apriori和其他算法进行频繁的项目集挖掘,你可以查看我的网站:

http://www.philippe-fournier-viger.com/spmf/