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算法详解之【一、相关概念和核心步骤】 Apriori算法核心步骤 ??? 感谢红兰整理的PPT,简单易懂,现在将其中精彩之处整理,与大家分享。 一、Apriori算法简介:? Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。 Apriori(先验的,推测的)算法应用广泛,可用于消费市场价格分析,猜测顾客的消费习惯;网络安全领域中的入侵检测技术;可用在用于高校管理中,根据挖掘规则可以有效地辅助学校管理部门有针对性的开展贫困助学工作;也可用在移动通信领域中,指导运营商的业务运营和辅助业务提供商的决策制定。 二、挖掘步骤: 1. 2.依据置信度产生关联规则(强度) 三、基本概念 对于A-B 支持度:P(A?B),既有A又有B的概率 ②置信度: P(B|A)A发生的事件中同时发生B的概率?p(AB)/P(A)?????例如购物篮分析:牛奶??面包 例子:[3%,置信度:40%] 支持度3%3%顾客同时购买牛奶和面包 置信度40%40%也购买面包 ③如果事件Ak个元素,那么称这个事件A为k项集事件A满足最小支持度阈值的事件称为频繁k项集。 ④同时满足最小支持度阈值和最小置信度阈值的规则称为强规则 四、实现步骤 ????AprioriApriori使用一种称作逐层搜索的迭代方法,“K-1项集”用于搜索“K项集”。 首先,找出频繁“1L1。L1用于找频繁“2项集”的集合L2,而L2用于找L3。如此下去,直到不能找到“K项集”。找每个Lk都需要一次数据库扫描。 核心思想是:连接步和剪枝步。连接步是自连接,原则是保证前k-2,并按照字典顺序连接。剪枝步,是使任一频繁项集的所有非空子集也必须是频繁的。反之,如果某 个候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从CK 简单的讲,1发现频繁项集,过程为(12)计数(3)比较(4)产生频繁项集(5)连接、剪枝,产生候选项集???重复步骤(1~(5)直到不能发现更大的频集 2、产生关联规则,过程为:根据前面提到的置信度的定义,关联规则的产生如下: (1L,产生L的所有非空子集; (2L的每个非空子集S,如果 ????????????????P(L)/P(S)≧min_conf 则输出规则“SL-S” 注:L-SL中除去S子集的项集 一、Apriori算法伪代码实现: [plain]?view plaincopy 伪代码描述:?? ?//?找出频繁?1?项集?? ?????L1?=find_frequent_1-itemsets(D);??? ?????For(k=2;Lk-1?!=null;k++){?? //?产生候选,并剪枝?? ????????Ck?=apriori_gen(Lk-1?);??? //?扫描?D?进行候选计数?? ????????For?each?事务t??in?D{??? ????????????Ct?=subset(Ck,t);?//?得到?t?的子集?? ????????????For?each?候选?c?属于?Ct?? ????????????????c.count++;?? ????????}?? ????????//返回候选项集中不小于最小支持度的项集?? ????????Lk?={c?属于?Ck?|?c.count=min_sup}?? }?? Return?L=?所有的频繁集;?? 第一步:连接(join)?? Procedure?apriori_gen?(Lk-1?:frequent(k-1)-itemsets)?? ??????For?each?项集?l1?属于?Lk-1?? ?????????For?each?项集?l2?属于?Lk-1?? ????????????If(?(l1?[1]=l2?[1])(?l1?[2]=l2?[2])?……?(l1?[k-2]=l2?[k-2])(l1?[k-1]l2?[k-1])?)??? then{?? ????????????????????c?=?l1?连接?l2????//?连接步:产生候选?? ??????????????????//若k-1项集中已经存在子集c则进行剪枝?? ???????????????????if?has_infrequent_subset(c,?Lk-1?)?then?? ???????????????????????delete?c;?//?剪枝步:删除非频繁候选?? ???????????????????else?add?c?to?Ck;?? ???????????????????}?? ??????????Return?Ck;?? 第二步:剪枝(prune)??? ?Proced

文档评论(0)

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

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

1亿VIP精品文档

相关文档