一、Apriori算法性质

性质一:
候选的k元组集合Ck中,任意k-1个项组成的集合都来自于Lk.
性质二:
若k维数据项目集X={i1,i2,…,ik}中至少存在一个j∈X,使得|L(k-1)(j)|<k-1,则X不是频繁项集。即若Lk-1中有一个元素C包含一个项目i,使得|L(k-1)(j)|<k-1,则所有Lk-1与C中元素连接生成的候选k维数据项集不可能是频繁项目集。
  • eg.购物篮中的任意一个项,如果它没有出现在至少本篮中两个项组成的至少两个频繁项对中,那么它不会是本篮中频繁三元组中的一部分;
  • ??????宝宝觉得这里有问题:“……所有Lk-1与C中元素连接生成的……”,本宝宝觉得这里应该是“与i连接”而不是“与C中元素连接”。
  • 举个例子理解一下。
性质三:
候选k项集都是由两个频繁(k-1)项集进行连接产生的,并且这两个频繁k-1项集中的k-2个项目都是相同的。->候选k项集是由前k-2个项目相同的两个频繁k-1项集连接产生的。
  • 可以理解为候选频繁k项集是由频繁k-1项集再加上一个频繁项组成,而这个频繁项可以根据上述的性质二来缩小范围。

二、Apriori算法在hadoop下的改进

1、缺陷分析
  • 候选项集的支持度统计效率低
  • 候选项目集键值对产生数量大
2、算法改进步骤:
  • a、单词计数统计方法本身是用来统计未知的单词,能充分发挥优势和性能,可以用来计算候选1项集的支持度,从而生成频繁1项集:

    • 用MapReduce编程模型,将一个事物在数据模型中的行位置座位Map函数的键,以该事物的内容作为Map函数的输出;
    • 然后再以该事物所包含的候选项集作为键,以布尔值1作为输出;
    • 对每个键的所有1值进行累加操作,计算出各个候选1项集的支持度。
    • 根据设定的最小支持度生成频繁1项集。
  • b、将数据分割思想应用到计算候选项集的支持度计算中:

    由上述性质三可以建立MapReduce模型,将频繁k-1项集中相同的k-1个项目(即k-2项)作为Map函数的键,将不同的项目作为值,根据性质二缩小范围,Reduce函数对键值进行规约,相同键就会被规约到同一个Reduce中,从而对两个频繁k-1项集进行连接产生候选k项集。

基于Hadoop的改进Apriori算法的更多相关文章

  1. 基于spark实现并行化Apriori算法

    详细代码我已上传到github:click me 一. 实验要求         在 Spark2.3 平台上实现 Apriori 频繁项集挖掘的并行化算法.要求程序利用 Spark 进行并行计算. ...

  2. mahout demo——本质上是基于Hadoop的分步式算法实现,比如多节点的数据合并,数据排序,网路通信的效率,节点宕机重算,数据分步式存储

    摘自:http://blog.fens.me/mahout-recommendation-api/ 测试程序:RecommenderTest.java 测试数据集:item.csv 1,101,5.0 ...

  3. 使用hadoop平台运行Apriori算法

    https://blog.csdn.net/laotumingke/article/details/66973260 https://blog.csdn.net/qq_24369113/article ...

  4. Apriori算法详解

    一.Apriori 算法概述Apriori 算法是一种最有影响力的挖掘布尔关联规则的频繁项集的 算法,它是由Rakesh Agrawal 和RamakrishnanSkrikant 提出的.它使用一种 ...

  5. 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:基于hash的方法

    http://blog.csdn.net/pipisorry/article/details/48901217 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  6. 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:非hash方法

    http://blog.csdn.net/pipisorry/article/details/48914067 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  7. #研发解决方案#基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案

    郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档 ...

  8. 基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案 郑昀 基于杨海波的设计文档(转)

    郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档 ...

  9. 推荐系统第4周--- 基于频繁模式的推荐系统和关联规则挖掘Apriori算法

    数据挖掘:关联规则挖掘

随机推荐

  1. php 利用socket上传文件

    php 利用socket上传文件 张映 发表于 2010-06-02 分类目录: php 一,利用fsockopen来上传文件 以前我写过一篇关于socket通信原理的博文http://blog.51 ...

  2. iOS 自动布局过程

    自动布局将视图显示在屏幕上的步骤: 更新约束,它会从子视图传递到父视图,设置布局信息:约束更新时自动触发setNeedsUpdateConstraints:updateConstraints可以增加本 ...

  3. UVa 10057 - A mid-summer night's dream

    题目大意:给n个数,找一个数A使得A与这n个数的差的绝对值最小.输出A最小的可能值,n个数中满足A的性质的数的个数以及满足A性质的不同的数的个数(不必从这n个数中挑选). 看见绝对值就想到了数轴上点之 ...

  4. drag file upload xhr 拖拽异步上传文件

    <div id="droptarget" style="width: 500px; height: 200px; background: silver"& ...

  5. UIscrollView 代理

    // // UIDemoViewController.m // 06-1UIScrollDemo // // Created by k on 14-9-4. // Copyright (c) 2014 ...

  6. php AES 加密类

    <?php class CryptAES { protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB ...

  7. php调用js变量

    <script> function tuichu(skp){ <?php $ok="skp"; echo "alert($ok)";//实验代 ...

  8. Zepto 使用中的一些注意点(转)

    http://www.zeptojs.cn/     zepto英文站在线文档 http://www.css88.com/doc/zeptojs_api/       zepto中文站在线文档 htt ...

  9. js面向对象oop编程

    理解对象 对象这个词如雷贯耳,同样出名的一句话:XXX语言中一切皆为对象! 对象究竟是什么?什么叫面向对象编程? 对象(object),台湾译作物件,是面向对象(Object Oriented)中的术 ...

  10. Flash Socket通信的安全策略问题 843端口

    1.问题描述       将flash发布为html格式后,加载页面后,swf无法与服务器进行socket通信.Flash端显示的错误为:securityErrorHandler信息: [Securi ...