Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm Apriori算法_Algorithm_Apriori - Fatal编程技术网

Algorithm Apriori算法

Algorithm Apriori算法,algorithm,apriori,Algorithm,Apriori,我以前多次听说过Apriori算法,但从来没有时间或机会深入研究它,有人能简单地向我解释一下这个算法的工作原理吗?另外,一个基本的例子会让我更容易理解。好吧,我假设你读过维基百科的条目,但是你说“一个基本的例子会让我更容易理解”。维基百科就是这样,所以我假设你还没有读过,并建议你读 阅读文章。请参阅(免费访问)或。后者给出了算法的详细描述,以及如何获得优化实现的细节。Apriori的最佳简介可从本书下载: 你可以免费下载第六章,它对Apriori的解释非常清楚 此外,如果您想下载Java版本的

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

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


阅读文章。

请参阅(免费访问)或。后者给出了算法的详细描述,以及如何获得优化实现的细节。

Apriori的最佳简介可从本书下载:

你可以免费下载第六章,它对Apriori的解释非常清楚

此外,如果您想下载Java版本的Apriori和其他用于频繁项集挖掘的算法,可以查看我的网站:

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

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

Apriori属性-只有当其
k-itemset
子集的每个成员都是频繁的时,给定的
(k+1)-itemset
才是候选
(k+1)-itemset

现在,这里是apriori算法,分为4步

  • 首先,扫描数据库/数据集一次,以获得频繁的
    1-itemset
  • 从长度
    k
    频繁项集生成长度
    k+1
    候选项集
  • 根据数据库/数据集测试候选人
  • 无法生成频繁集或候选集时终止
  • 解决的例子 假设有一个如下的事务数据库,包含4个事务,包括它们的事务ID和购买的物品。假设最小支撑-
    minu sup
    2
    。术语支持是存在/包含某个项目集的事务数

    事务数据库

    tid  | items
    -------------
    10   | A,C,D
    20   | B,C,E
    30   | A,B,C,E
    40   | B,E
    
    现在,让我们通过第一次扫描数据库来创建候选
    1-itemsets
    。它被简单地称为
    C_1
    的集合,如下所示

    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {D}   |  1
      {E}   |  3
    
    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {E}   |  3
    
    itemset | sup
    -------------
      {A,B} |  1
      {A,C} |  2
      {A,E} |  1
      {B,C} |  2
      {B,E} |  3
      {C,E} |  2
    
    itemset  | sup
    -------------
     {A,B,C} |  1
     {A,B,E} |  1
     {A,C,E} |  1
     {B,C,E} |  2
    
    itemset  | sup
    -------------
     {B,C,E} |  2
    
             Rule       | supp  |  conf   |  lift
        -------------------------------------------
         B ->  C & E    |  50%  |  66.67% |  1.33
         E ->  B & C    |  50%  |  66.67% |  1.33
         C ->  E & B    |  50%  |  66.67% |  1.77
         B & C ->  E    |  50%  |  100%   |  1.33
         E & B ->  C    |  50%  |  66.67% |  1.77
         C & E ->  B    |  50%  |  100%   |  1.33
    
    如果我们用
    min\u sup
    测试这一点,我们可以看到
    {D}
    不满足
    2
    min\u sup
    。因此,它不会包含在频繁的
    1-itemset
    中,我们将其称为
    L_1
    的集合,如下所示

    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {D}   |  1
      {E}   |  3
    
    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {E}   |  3
    
    itemset | sup
    -------------
      {A,B} |  1
      {A,C} |  2
      {A,E} |  1
      {B,C} |  2
      {B,E} |  3
      {C,E} |  2
    
    itemset  | sup
    -------------
     {A,B,C} |  1
     {A,B,E} |  1
     {A,C,E} |  1
     {B,C,E} |  2
    
    itemset  | sup
    -------------
     {B,C,E} |  2
    
             Rule       | supp  |  conf   |  lift
        -------------------------------------------
         B ->  C & E    |  50%  |  66.67% |  1.33
         E ->  B & C    |  50%  |  66.67% |  1.33
         C ->  E & B    |  50%  |  66.67% |  1.77
         B & C ->  E    |  50%  |  100%   |  1.33
         E & B ->  C    |  50%  |  66.67% |  1.77
         C & E ->  B    |  50%  |  100%   |  1.33
    
    现在,让我们第二次扫描数据库,并生成候选
    2-itemsets
    ,我们简单地称之为
    cU2
    集,如下所示

    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {D}   |  1
      {E}   |  3
    
    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {E}   |  3
    
    itemset | sup
    -------------
      {A,B} |  1
      {A,C} |  2
      {A,E} |  1
      {B,C} |  2
      {B,E} |  3
      {C,E} |  2
    
    itemset  | sup
    -------------
     {A,B,C} |  1
     {A,B,E} |  1
     {A,C,E} |  1
     {B,C,E} |  2
    
    itemset  | sup
    -------------
     {B,C,E} |  2
    
             Rule       | supp  |  conf   |  lift
        -------------------------------------------
         B ->  C & E    |  50%  |  66.67% |  1.33
         E ->  B & C    |  50%  |  66.67% |  1.33
         C ->  E & B    |  50%  |  66.67% |  1.77
         B & C ->  E    |  50%  |  100%   |  1.33
         E & B ->  C    |  50%  |  66.67% |  1.77
         C & E ->  B    |  50%  |  100%   |  1.33
    
    如您所见,
    {A,B}
    {A,E}
    项目集不满足
    2
    minu-sup
    ,因此它们将不包括在频繁的
    2-itemset
    L\u 2

    itemset | sup
    -------------
      {A,C} |  2
      {B,C} |  2
      {B,E} |  3
      {C,E} |  2
    
    现在,让我们对数据库进行第三次扫描,获得候选的
    3-itemsets
    C_3
    ,如下所示

    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {D}   |  1
      {E}   |  3
    
    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {E}   |  3
    
    itemset | sup
    -------------
      {A,B} |  1
      {A,C} |  2
      {A,E} |  1
      {B,C} |  2
      {B,E} |  3
      {C,E} |  2
    
    itemset  | sup
    -------------
     {A,B,C} |  1
     {A,B,E} |  1
     {A,C,E} |  1
     {B,C,E} |  2
    
    itemset  | sup
    -------------
     {B,C,E} |  2
    
             Rule       | supp  |  conf   |  lift
        -------------------------------------------
         B ->  C & E    |  50%  |  66.67% |  1.33
         E ->  B & C    |  50%  |  66.67% |  1.33
         C ->  E & B    |  50%  |  66.67% |  1.77
         B & C ->  E    |  50%  |  100%   |  1.33
         E & B ->  C    |  50%  |  66.67% |  1.77
         C & E ->  B    |  50%  |  100%   |  1.33
    
    您可以看到,
    {A,B,C}
    {A,B,E}
    {A,C,E}
    不满足
    2
    minu-sup
    。因此,它们将不包括在频繁的
    3项集
    L_3
    中,如下所示

    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {D}   |  1
      {E}   |  3
    
    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {E}   |  3
    
    itemset | sup
    -------------
      {A,B} |  1
      {A,C} |  2
      {A,E} |  1
      {B,C} |  2
      {B,E} |  3
      {C,E} |  2
    
    itemset  | sup
    -------------
     {A,B,C} |  1
     {A,B,E} |  1
     {A,C,E} |  1
     {B,C,E} |  2
    
    itemset  | sup
    -------------
     {B,C,E} |  2
    
             Rule       | supp  |  conf   |  lift
        -------------------------------------------
         B ->  C & E    |  50%  |  66.67% |  1.33
         E ->  B & C    |  50%  |  66.67% |  1.33
         C ->  E & B    |  50%  |  66.67% |  1.77
         B & C ->  E    |  50%  |  100%   |  1.33
         E & B ->  C    |  50%  |  66.67% |  1.77
         C & E ->  B    |  50%  |  100%   |  1.33
    
    现在,最后,我们可以计算项目集
    {B,C,E}
    生成的关联/相关规则的
    支持(supp)
    置信度(conf)
    提升(兴趣值)
    值,如下所示

    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {D}   |  1
      {E}   |  3
    
    itemset | sup
    -------------
      {A}   |  2
      {B}   |  3
      {C}   |  3
      {E}   |  3
    
    itemset | sup
    -------------
      {A,B} |  1
      {A,C} |  2
      {A,E} |  1
      {B,C} |  2
      {B,E} |  3
      {C,E} |  2
    
    itemset  | sup
    -------------
     {A,B,C} |  1
     {A,B,E} |  1
     {A,C,E} |  1
     {B,C,E} |  2
    
    itemset  | sup
    -------------
     {B,C,E} |  2
    
             Rule       | supp  |  conf   |  lift
        -------------------------------------------
         B ->  C & E    |  50%  |  66.67% |  1.33
         E ->  B & C    |  50%  |  66.67% |  1.33
         C ->  E & B    |  50%  |  66.67% |  1.77
         B & C ->  E    |  50%  |  100%   |  1.33
         E & B ->  C    |  50%  |  66.67% |  1.77
         C & E ->  B    |  50%  |  100%   |  1.33
    

    谢谢,事实上我以前读过wiki页面,但当时它的内容非常糟糕,现在它甚至包含了一个真实世界的示例!=)这是一个真实的答案