zoukankan      html  css  js  c++  java
  • 关联规则( Association Rules)之频繁模式树(FP-Tree)

           Frequent Pattern Tree(频繁模式树)是Jiawei Han在2004年的文章《Mining Frequent Patterns without Candidate Generation 》中提出的。

    ————————————————————————————————————————————————————

    以下给出一些定义:

    设项集(set of items),交易数据库(transaction database)。当中交易(transaction),是中的元素组成的集合。模式(Pattern)A是中的元素组成的集合。模式A的支持度(support)是指交易数据库中包括A的交易的数量。

    是最小支持度阈值,假设。模式A的支持度大于,那么称A为频繁模式(Frequent Pattern)。

    频繁模式树就是要找到交易数据库中的频繁模式。

    ————————————————————————————————————————————————————

    样例:

    设项集,交易数据库例如以下表:


    最小支持度阈值

    构造频繁模式树仅仅须要扫描(scan)交易数据库次。

    第一次:扫描数据库。对当中的每个项进行计数,得到一个list of frequent items(频繁项的列表) 。比如,项出现了4次,依次类推我们对当中的每一项进行计数,由于最小支持度阈值为3,,我们以下仅仅给出出现次数大于3的项:


    第二次:扫描数据库的每一交易,得到每个交易的排序频繁项(Ordered Frequent Items)构造频繁模式树(构造过程非常easy,原论文给出了具体的阐述):

    我们对每个交易,仅仅保留大于3的项。并排序。然后我们得出下表。多出了一列就是排序频繁项(Ordered Frequent Items)






    —————————————————————————————————————————————————————

    依据上面的两步,我们已经构造出了频繁模式树,怎么样通过频繁模式树,找到频繁模式。

    当中,我们拿和项有关的频繁模式举例,其它依次类推:

    首先。我们找到全部的节点,并沿着树枝路径向上直到根节点(root),我们发现有两条路径:

    然后。我们能够得出出现的3次同一时候出现了3次,是同一时候和出现次数最多的项,并且次数大于最小支持度阈值。所以就是一个频繁模式,依次类推得出其它项的频繁模式:

    所以,通过频繁模式树找到了非常多频繁模式。

    —————————————————————————————————————————————————————

    对于频繁模式树的并行计算(MapReduce),文章

    《Parallel FP-Growth for Query Recommendation》中给出了具体说明。

  • 相关阅读:
    手机分辨率对应表
    本地加密解密工具类
    缓存清理的工具类
    Javadoc常见的标记和含义
    Android 禁止进入activity自动弹出键盘
    ListView
    可以展开和收起的的LinearLayout
    Android 编码规范
    ToastUtils
    防微信左滑删除的效果
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7284322.html
Copyright © 2011-2022 走看看