一种基于兴趣表的Apriori算法与研究.docVIP

  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文档。上传文档
查看更多
一种基于兴趣表的Apriori算法与研究.doc

一种基于兴趣表的Apriori算法研究 摘要:算法是一种最有影响的挖掘联规则的算法该算法的基本思想是首先找出所有的频集频集关联规则。算法算法联规则频集算法。本文是在算法的基础之上,通过引入兴趣表来提高挖掘效率。采用动态挖掘来方便用户需求,能很好的满足客服的需求,提高算法的效率[2]。 2 关联规则 关联规则挖掘起源于对超市购物问题的分析,用于发现交易数据库中不同商品之间的联系,这些联系反映了顾客购买行为模式。发现这样的联系可以应用于顾客购物分析、目录设计、商品广告邮寄分析等。在数据挖掘研究领域,对于关联规则挖掘的研究开展得比较深入,已提出了多种关联规则挖掘算法。目前,关联规则挖掘已成功应用于各个相关领域,成为数据挖掘中最成熟、最主要、最广泛的研究内容之一。 设是项的集合,其中的元素称为项(item)。记D为事务(transaction)T的集合,这里事务T是项的集合,并且T(I 。对应每一个事务有唯一的标识,如事务号,记作TID。设X是一个I中项的集合,如果X(T,那么称事务T包含X。 一个关联规则是形如X(Y的蕴涵式,这里X(I, Y(I,并且X(Y=(。规则X(Y在事务数据库D中的支持度(support)是事务集中包含X和Y的事务数与所有事务数之比,记为support(X(Y),即support(X(Y)= P(X ( Y)。 规则X(Y在事务集中的可信度(confidence)是指包含X和Y的事务数与包含X的交易数之比,记为confidence(X(Y),即confidence(X(Y)= P(X|Y)。给定一个事务集D,挖掘关联规则问题就是寻找支持度和可信度分别大于用户给定的最小支持度(minsup)和最小可信度(minconf)的关联规则[4]。 2.2 传统的算法介绍 第一:挖掘出频繁1-项集,然后采用递推的方式来挖掘频繁k-项集(k1); 第二:在频繁项目集中找到满足要求的关联规则; 具体做法是:在挖掘出候选频繁k-项目集之后,根据最小置信度minsup来筛选,得到频繁k-项集。合并全部的频繁k-项集(k0)。挖掘出全部的关联规则,然后根据minconf来得到频繁关联规则。 2.3 示例说明算法 设事务数据库如表1所示,minsup为50%,minconf为70%,求事务数据库D中的频繁关联规则。 表1 事务数据库表 项目集 1 A B C D E 2 A B C 3 C D E F 4 A B E 执行过程如下: 第一步:求频繁项集 (1)频繁1-项集{{A},{B},{C},{D},{E}}。 (2)频繁2-项集{{AB},{AC},{AE},{BC},{BD},{CD},{CE}}。 (3)频繁3-项集{ABC}。 (4)综上={{A},{B},{C},{D},{E},{AB},{AC},{AE},{BC},{BD},{CD},{CE},{ABC}}。 第二步:求{ABC}关联关系 只有{AC}{B},{BC}{A},{A}{B},{B}{A}满足要求。置信度都为100%。 时间复杂度分析: 需要扫描3次数据库;为了得到频繁1-项集,需要对数据库中数据进行15次处理,为了得到频繁2-项集,需要对数据库中数据进行19次处理,为了得到频繁3-项集,需要对数据库中数据进行11次处理,总计需要进行45次处理。 3 改进算法介绍 3.1 改进算法思想和实现步骤 传统的数据挖掘存在一些不足。第一:挖掘过程中要频繁的扫描数据库;第二:我们对某些项并不感兴趣,所以可以一开始就不对这些项进行操作。第三:兴趣项的项数比较庞大,挖掘效率低下。第四:很多操作都是没必要的重复,浪费时空。 第一步:提出兴趣项的各个子集的项频数: (1)输入兴趣项和挖掘事务数据库;(2)扫描事务数据库,生成相关数据结构;(3)扫描相关队列和表,记录兴趣项子集项的频数;(4)在兴趣项子集中,找出频繁项目集。 第二步:在频繁项目集中找出关联关系。 3.2 改进算法实现介绍 设事务数据库如表1所示,兴趣项为:ABC。 第一:构造相关的数据结构 1.根据兴趣项扫描数据库得到如下表信息: 表2 事务数据库信息表 ID 项目集 频数 项数 标示号 1 A B C 1 3 6 2 A B 2 2 4 3 C 1 1 1 ID为该表的主键,频数为该项集在事务数据库中出现的次数,项数为本项集的项数。标示号是通过一个算法求出的(算法下面介绍)。 首先,构造一个数据库信息队列(SqlInfoQueue),队列里面存入一些对象,每个对象都有上述表中的属性;其次,遍历事务数据库,取出数据库中每一条记录,通过求出兴趣集算法,求出兴趣集;(求出兴趣集算法,下面介绍);然后,根据求出的兴趣集,求出它的项数和标示号;最后,根据求出的项数和标示号,把该条记录插入到Sq

文档评论(0)

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

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

1亿VIP精品文档

相关文档