五。移动平均

  多个连续周期的时间序列数据平均值(按相同时间间隔得到的观察值,如每小时一次或每天一次)称为移动平均。之所以称之为移动,是因为随着新的时间序列数据的到来,要不断重新计算这个平均值,由于会删除最早的值同时增加最新的值,这个平均值会相应地“移动”。

  例子:

            

java代码:

MR方案:

  方案1:对于各个规约器键,在RAM种对时间序列数据排序,这个方法存在一个问题:如果没有足够的RAm来完成规约器的排序操作,这种方法就不可行。

  方案2:让MRF完成时间序列数据的排序(MR框架的主要特性之一就是按键值排序和 分组,hadoop很擅长这个)。与方案1相比,这个方案可伸缩性要好得多,排序由MRF的sort和shuffle函数完成,如果采用这个方案,我们需要修改键值对,并编写一些定制插件类来完成二次排序。

  

  方案1:  map()函数将key进行拆分处理直接发送。  reduce()对key相同的数据进行排序,在进行window内的计算平均。

  方案2:二次排序的必要设置: 分区器根据映射器输出键确定。哪个映射器输出发送到哪个规约器。一般的,不同的键会在不同的组中,不过有时我们希望不同的键在同一个组中,这种情况下要使用输出值分组比较器,用来对映射器输出分组。输出键比较器在排序阶段用来比较映射器输出键。

        

    

六。购物篮分析

  MBA可以揭示不同商品或商品组之间的相似度。数据挖掘的一般目标是从庞大的数据集合中提取有趣的关联信息,例如数百万超市交易。MBA可以帮助我们找出很可能会在一起购买的商品,关联规则挖掘会发现一个交易集中商品之间的相关性。然后可以使用这些关联规则在商店货架上或在线将相关的商品摆放在相邻的位置。这属于计算密集型问题,很适合MRF。

  1.对应N阶元祖的MR解决方案,这个放啊你可以查找频繁模式。

  2.spark解决方案,不仅可以找出频繁模式,还会为他们生成关联规则。

  

  在数据挖掘中,关联规则有两个度量标准。 

    

  

  1.MR解决方案。     生成频繁模式。

    主要算法  :map  -》 reduce

        

    

  2.spark不仅生成频繁模式,同时生成规则。

    流程:

      

    流程中第一个MR:      (也就是生成频繁模式)                                                                                                                  第二个MR:

                           

  第二个MR不太好理解:

    针对map的的输出(也就是生成所有频繁模式的子模式):

           子模式的生成规则:

              

    然后groupByKey():

      

    然后再生成规则:

      

   生成的规则代码为:

      

      

 

数据算法 --hadoop/spark数据处理技巧 --(5.移动平均 6. 数据挖掘之购物篮分析MBA)的更多相关文章

  1. 数据算法 --hadoop/spark数据处理技巧 --(13.朴素贝叶斯 14.情感分析)

    十三.朴素贝叶斯 朴素贝叶斯是一个线性分类器.处理数值数据时,最好使用聚类技术(eg:K均值)和k-近邻方法,不过对于名字.符号.电子邮件和文本的分类,则最好使用概率方法,朴素贝叶斯就可以.在某些情况 ...

  2. 数据算法 --hadoop/spark数据处理技巧 --(1.二次排序问题 2. TopN问题)

    一.二次排序问题. MR/hadoop两种方案: 1.让reducer读取和缓存给个定键的所有值(例如,缓存到一个数组数据结构中,)然后对这些值完成一个reducer中排序.这种方法不具有可伸缩性,因 ...

  3. 数据算法 --hadoop/spark数据处理技巧 --(9.基于内容的电影推荐 10. 使用马尔科夫模型的智能邮件营销)

    九.基于内容的电影推荐 在基于内容的推荐系统中,我们得到的关于内容的信息越多,算法就会越复杂(设计的变量更多),不过推荐也会更准确,更合理. 本次基于评分,提供一个3阶段的MR解决方案来实现电影推荐. ...

  4. 数据算法 --hadoop/spark数据处理技巧 --(3.左外连接 4.反转排序)

    三. 左外连接 考虑一家公司,比如亚马逊,它拥有超过2亿的用户,每天要完成数亿次交易.假设我们有两类数据,用户和交易: users(user_id,location_id) transactions( ...

  5. 数据算法 --hadoop/spark数据处理技巧 --(17.小文件问题 18.MapReuce的大容量缓存)

    十七.小文件问题 十八.MR的大容量缓存 在MR中使用和读取大容量缓存,(也就是说,可能包括数十亿键值对,而无法放在一个商用服务器的内存中).本次提出的算法通用,可以在任何MR范式中使用.(eg:MR ...

  6. 数据算法 --hadoop/spark数据处理技巧 --(11.K-均值聚类 12. k-近邻)

    十一.k-均值聚类 这个需要MR迭代多次. 开始时,会选择K个点作为簇中心,这些点成为簇质心.可以选择很多方法啦初始化质心,其中一种方法是从n个点的样本中随机选择K个点.一旦选择了K个初始的簇质心,下 ...

  7. 数据算法 --hadoop/spark数据处理技巧 --(15.查找、统计和列出大图中的所有三角形 16.k-mer计数)

    十五.查找.统计和列出大图中的所有三角形 第一步骤的mr: 第二部mr: 找出三角形 第三部:去重 spark: 十六: k-mer计数 spark:

  8. 数据算法 --hadoop/spark数据处理技巧 --(7.共同好友 8. 使用MR实现推荐引擎)

    七,共同好友. 在所有用户对中找出“共同好友”. eg: a    b,c,d,g b    a,c,d,e map()->  <a,b>,<b,c,d,g> ;< ...

  9. Apriori算法在购物篮分析中的运用

    购物篮分析是一个很经典的数据挖掘案例,运用到了Apriori算法.下面从网上下载的一超市某月份的数据库,利用Apriori算法进行管理分析.例子使用Python+MongoDB 处理过程1 数据建模( ...

随机推荐

  1. dp-(LCS 基因匹配)

    Human Gene Functions Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19885   Accepted: ...

  2. 如何使用F4的IRAM2内存

    在使用KEIL做F4的项目的时候发现RAM区有片上IRAM2选项,查了datesheet后发现这块是CCM内存区 CCM内存是在地址0x1000000映射的64KB块,只提供CPU通过数据D总线进行访 ...

  3. 洛谷 P1658 购物

    题目链接 题目描述 你就要去购物了,现在你手上有N种不同面值的硬币,每种硬币有无限多个.为了方便购物,你希望带尽量少的硬币,但要能组合出1到X之间的任意值. 题目分析 题目要求组合出1到X之间的任意值 ...

  4. Egret学习-初次创建项目

    最近无聊,好久没有写游戏了,决定学习下egret,主要原因:egret是h5框架,相比android和iPhone或cocos2dx来说不需要安装可以直接运行. 下面进入正题,开始学习egret 简单 ...

  5. (转)宽字节编码类型的XSS

    今晚又看了一遍PKAV-心上的瘦子写的xss腾讯系列的例子,收获挺大的,其中对宽字节注入有了更深的了解,又查找了一些相关的资料,整理一下,以备以后查阅 参考文档: http://book.2cto.c ...

  6. 认识JPA以及如何使用JPA(1)

    一:JDBC是什么? JDBC统一了Java应用程序访问数据库的标准. 二:什么是JPA? JPA统一了Java应用程序使用使用ORM框架的方式. 配置文件说明: 三:使用JPA的第一个实例. 1.创 ...

  7. mybatis 执行流程以及初用错误总结

    mappper 配置文件  头文件: 1.   <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" &q ...

  8. Spring实战:第一个spring mvc项目

    我自己看的pdf书中有几个小错误导致项目一直起不来,具体错误是: 此处的名称不一致导致的,此外对于映射@RequestMapping("/"),需要删除创建框架时自带的index. ...

  9. MVC ajaxfileupload 实现无刷新导入或上传功能

    直接上代码吧 前台 先引用 ajaxfileupload.js <script src="~/Scripts/ajaxfileupload.js"></scrip ...

  10. 项目SpringMVC+Spring+Mybatis 整合环境搭建(2)-> 测试Spring+Mybatis 环境

    测试前期准备 第一步:创建easybuy数据库,设置utf-8格式 第二步:创建表test_tb CREATE TABLE `test_tb` ( `id` int(11) NOT NULL AUTO ...