关联分析FPGrowth算法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关联分析:FP-Growth算法 关联分析乂称关联挖掘,就是在交易数据、关系数据或其他信息载体屮,查找存在于项冃集 合或对象集合Z间的频繁模式、关联、相关性或因果结构。关联分析的一个典型例子是购物篮分 析。通过发现顾客放入购物篮中不同淌品之间的联系,分析顾客的购买习惯。比如,67%的顾 客在购买尿布的同时也会购买啤酒。通过了解哪些商品频繁地被顾客同时购买可以帮助零售商 制定营销策略。关联分析也可以应用于其他领域,如生物信息学、医疗诊断、网页挖掘和科学数 据分析等。 问题定义 TED 面包 牛奶 尿布 呻济 乐 1 1 1 0 0 0 0 2 1 0 1 1 1 0 3 0 1 1 1 0 1 4 1 1 1 1 0 0 S 1 1 1 0 0 1 图1购物篮数据的二元表示 图1表示顾客的购物篮数据,其中每一行是每位顾客的购物记录,对应一个事务,而每一 列对应一个项。令l={ii, i2, ... , id}是购物篮数据中所有项的集合,而丁={切t2, ... , tz}是 所有事务的集合。每个事务£包含的项集都是I的子集。在关联分析中,包含0个或多个项的 集合被称为项集(itemset)。所谓的关联规则是指形如X-Y的麦达式,其中X和Y是不相交 的项集。在关联分析中,有两个重要的概念 支持度(support)和置信度(confidence) o 支持度确定规则可以用于给定数据集的频繁程度,而置信度确定Y在包含X的事务中岀现的频 繁程度。支持度(s)和置信度(c)这两种度量的形式定义如下: or(X5) c(X5) c(X5) 公式1 其屮,N是事务的总数。关联规则的支持度很低,说明该规则只是偶然出现,没有多大意义。 另一方面,置信度可以度量通过关联规则进行推理的可靠性。因此,大多数关联分析算法采用的 策略是: 频繁项集产生:其冃标是发现满足最小支持度阈值的所有项集,这些项集称作频繁项集。 规则的产牛:其冃标是从上一步发现的频繁项集中提取所有高置信度的规则,这些规则称 作强规则。 构建 FP-tree FP-growth算法通过构建FP-tree来压缩事务数据库中的信息,从而更加有效地产生频繁 项集。FP?tree其实是一棵前缀树,按支持度降序排列,支持度越高的频繁项离根节点越近,从 而使得更多的频繁项可以共亨前缀。 TID Items Bought (Ordeied) FYequeiit Items 100 /, q c,(1、g、t, m, p c, a, m, p 200 a, 6, c, /, Z, m, o /, c, a, 6, m 300 6, /, h, jy o f、b 100 6, c, k、s, p 50() a, c, e, /, p, m, n C, a, m, p 图2事务型数据库 图2表示用于购物篮分析的事务型数据库。其中,a, b,…,p分别表示客户购买的物品。 首先,对该事务型数据库进行一次扫描,计算每一行记录屮各种物品的支持度,然后按照支持度 降序排列,仅保留频繁项集,剔除那些低于支持度阈值的项,这里支持度阈值取3,从而得到 <(f:4), (c:4), (a:3), (b:3), (m:3, (p:3)> (由于支持度计算公式中的N是不变的,所 以仅需要比较公式中的分子)。图2中的第3列展示了排序后的结果。 FP-tree的根节点为null,不表示任何项。接下来,对事务型数据库进行第二次扫描,从而 开始构建FP-tree: 第一条记录vf, c, a, m, p>对应于FP-tree中的第一条分支<(f:1), (c:1), (a:1), (m:1), (p:1)>: Null P:1 图3第一条记录 由于第二条记录vf, c, a, b, 与第一条记录有相同的前缀vf, c, a>,因此vf, c, a>的支持度分別加一,同时在(a:2)节点下添加节点(b:1), (m:1)o所以,FP-tree中的第二 条分支是<(f:2), (c:2), (a:2), (h:1), Nullf:? Null f:? 图4第二条记录 第三条记录vf, b>与前两条记录相比,只有一个共同前缀vf>,因此,只需要在(f:3)下添 加节点vb:1 A: Null ■P:1 ■ P:1 ■ 图5第三条记录第四条记录 图5第三条记录 第四条记录vc, b, p>与之前所有记录都没有共同前缀,因此在根节点下添加节点(c:1), 图6第四条记录 类似地,将第五条记录vf, c, a, m, p>作为FP-tree的一个分支,更新相关节点的支持 度: Null 图7第五条记录 为了便于对整棵树进行遍历,建立一张项的头表(an item header table)。这张表的第 一列是按照降序排列的频繁项。第二列是指

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档