FP-Growth

        由于Apriori方法的瓶颈在于候选集的生成和测试。如果能够避免生成大量的候选集合,那么挖掘性能将得到极大的提高。为此从三个方面解决这个问题。

        第一,FP-tree 它是一种扩展的前x-tree结构,存储关于频繁模式的关键定量信息。只有频繁出现的长度为1的项目才会在树中有节点,而树节点的排列方式使得频繁出现的节点比不频繁出现的节点有更好的机会共享节点。

        其次,开发了一种基于FP-tree的模式片段增长挖掘方法,它从一个频繁的长度为1的模式(作为初始后缀模式)开始,只检查它的条件模式库(一个“子数据库” 由与后缀模式共同出现的频繁项集组成),构造其(条件)FP-tree,并使用这样的树递归地执行挖掘。

        第三,挖掘中采用的搜索技术是一种基于分区的分治法,而不是类似于 Apriori 的自下而上的频繁项集组合生成。 这极大地减少了在后续搜索级别生成的条件模式库的大小以及相应的条件 FP-tree 的大小。 此外,它将查找长频繁模式的问题转变为寻找较短的频繁模式,然后连接后缀。 它使用频率最低的项目作为后缀,提供了良好的选择性。 所有这些技术都有助于大幅降低搜索成本。

FP树
        FP即Frequent Pattern,FP树看上去就是一棵前缀树,根节点是空集,结点上是单个元素,保存了它在数据集中的出现次数,出现次数越多的元素越接近根。此外,结点之间通过链接(link)相连,只有相似元素会被连起来,连起来的元素又可以看成链表。同一个元素可以在FP树中多次出现,根据位置不同,对应着不同的频繁项集。可以为FP树设置最小支持度,过滤掉出现次数太少的元素。
        FP树每个结点上都是一个单独的元素,及其在路径中的出现次数。

构建FP树
        1.遍历一次数据集,统计每个元素出现的次数,然后把出现次数较小的滤掉,然后对每个样本按照元素出现次数重排序
        2.构造FP树。从根节点∅开始,将过滤并排序后的样本一个个加入树中,若FP树不存在现有元素则添加分支,若存在则增加相应的值。

        每个样本都是排序过的,频数高的频繁项集在前面,它总是更接近根结点。

从FP树挖掘频繁项集
        步骤如下:
        1.从FP树提取条件模式基
        2.用条件模式基构造FP树
        3.重复1和2直到树只包含一个元素


提取条件模式基
        条件模式基(conditional pattern base)定义为以所查找元素为结尾的所有前缀路径(prefix path)的集合,就是从header列表开始,针对每一个频繁项,都查找其对应的条件模式基。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值