mahout探索之旅---频繁模式挖掘算法与理解

本文深入探讨了数据挖掘中的频繁模式挖掘算法,包括Apriori和FP树。Apriori算法基于先验性质,通过迭代找到频繁项集,而FP树算法则优化了Apriori,减少了候选集的生成。文章详细解释了这两个算法的原理、步骤,并通过实例展示了如何构造FP树及从中挖掘频繁模式。
摘要由CSDN通过智能技术生成

频繁模式挖掘

(先声明一下,文章内容可能你在网上也能找到,但是我参考了几篇文章的优势,使得算法更容易理解)

Apriori算法

Apriori算法是一个经典的数据挖掘算法,Apriori的单词的意思是"先验的",说明这个算法是具有先验性质的,就是说要通过上一次的结果推导出下一次的结果,这个如何体现将会在下面的分析中会慢慢的体现出来。Apriori算法的用处是挖掘频繁项集的,频繁项集粗俗的理解就是找出经常出现的组合,然后根据这些组合最终推出我们的关联规则。

Apriori算法原理

Apriori算法是一种逐层搜索的迭代式算法,其中k项集用于挖掘(k+1)项集,这是依靠他的先验性质的:

频繁项集的所有非空子集一定是也是频繁的;

如果一个项集是非频繁的,那么它所有的超集也是非频繁的。

通过这个性质可以对候选集进行剪枝。用k项集如何生成(k+1)项集呢,这个是算法里面最难也是最核心的部分。通过2个步骤:

1、连接步,将频繁项自己与自己进行连接运算。

2、剪枝步,去除候选集项中的不符合要求的候选项,不符合要求指的是这个候选项的子集并非都是频繁项,要遵守上文提到的先验性质。

3、通过1,2步骤还不够,在后面还要根据支持度计数筛选掉不满足最小支持度数的候选集。首先是测试数据:

交易ID

商品ID列表

T100

I1,I2,I5

T200

I2,I4

T300

I2,I3

T400

I1,I2,I4

T500

I1,I3

T600

I2,I3

T700

I1,I3

T800

I1,I2,I3,I5

T900

I1,I2,I3

 

算法的步骤图


最后我们可以看到频繁3项集的结果为{1 2 3}{1 2 5},然后我们去后者{125}作为频繁项集来生产他的关联规则,但是在这之前得先知道一些概念,怎么样才能够成为一条关联规则,关有频繁项集还是不够的。

关联规则

Support(支持度):项集在给定数据集里出现的频繁程度。

confidence(置信度)confidence的中文意思为自信的,在这里其实表示的是一种条件概率,当在A条件下,B发生的概率就可以表示为confidence(A->B)=p(B|A),意为在A的情况下,推出B的概率。

最小置信度阈值:按照字面上的意思就是限制置信度值的一个限制条件嘛,这个很好理解。

强规则:强规则就是指的是置信度满足最小置信度(就是>=最小置信度)的推断就是一个强规则,也就是文中所说的关联规则了。这个在下面的程序中会有所体现。

FP树算法

FP-Tree算法全称是FrequentPatternTree算法,就是频繁模式树算法,他与Apriori算法一样也是用来挖掘频繁项集的,不过不同的是,FP-Tree算法是Apriori算法的优化处理,他解决了Apriori算法在过程中会产生大量的候选集的问题,而FP-Tree算法则是发现频繁模式而不产生候选集。但是频繁模式挖掘出来后,产生关联规则的步骤还是和Apriori是一样的。

FP树构造

FP Growth算法利用了巧妙的数据结构,大大降低了Apriori挖掘算法的代价,它不需要不断地生成候选项目队列和不断得扫描整个数据库进行比对。为了达到这样的效果,它采用了一种简洁的数据结构,叫做frequent-pattern tree(频繁模式树)。请看下面这个例子:

先看数据集如下:

    

这张表描述了一张商品交易清单,abcdefg…代表商品,(ordered)frequentitems这一列是把商品按照出现频率降序重新进行了排列,这个排序很重要,我们操作的所有项目必须按照这个顺序来,由于那些非频繁的项目在整个挖掘中不起任何作用,因此在这一列中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值