FP并行算法的几个相关方向
1 集群系统中的 FP-tree 并行算法(many for one一个任务 还是 云计算one for many多个任务?)
计算机集群系统利用网络把一组具有高性能的工作站或者 PC 机按一定的结构连接起来, 从而形成了高效的并行的计算处理
系统。 各节点之间使用消息传递实现通信,集群系统通常用于改进单个计算机的计算速度与可靠性。
FP-growth 算法在挖掘每个条件模式库的过程是彼此独立进行的,相互之间没有数据和信息交换。 这一互相独立的特点可以把
FP-growth 算法转换为并行算法,如果将每个条件模式库的挖掘看成一个子任务,那么总的频繁模式挖掘任务就能够被划分为数目
与频繁项数目相等的若干个子任务。
然后将这些子任务分配给计算机集群中的各个节点分别执行,计算机集群的各个节点完成各
自的子任务后,将计算结果传送到中央节点,由中央节点形成统一的计算结果。
2 划分 FP-tree 为小 FP-tree 的并行计算方法
对于给定的关联规则挖掘任务,如何将其分解成多个相互独立的子任务? 从而进行并行分布式处理。 下面将分析的一种方法是
将 FP-tree 划分成小 FP-tree,然后进行并行计算。
需要证明全部局部树的组合和全局树的等价性。
具体方法是:根据 FP-tree 相应的 HeaderTable 各个项前缀路径的总长度,将 Header Table 分组,构造结点数量大致相等的小
FP 树。 构建小 FP 树的方法是,分别提取 Header Table 节点链结点位置,找出对应结点的条件模式基,之后用同一组 Header Table 包
含的所有条件模式基产生出新的 FP 树和 Header Table,在为某部分 Header Table 构造新 FP 树和新 Header Table 时,不用将这部分
Header Table 包含的项以外的项放进新 Header Table。 这样便将大 FP-tree 划分为多个小 FP-tree 方便多进程或多台机器并行处理。
3 划分数据库事务的并行 FP-Growth 算法(基于Hadoop平台,可以自动分布,每个map默认64MB。待续详细。)
在并行 FP-Growth 算法当中,一种算法是将数据库里的记录按照数量进行等分,然后在多个进程上进行并行计算。
该算法基本步骤如下:
1) 划分数据库中的事务,将个数近乎相等的事务指定到相应处理进程;
2) 各进程分别计算项的计数,然后汇总得到频繁 1-项集;
3) 每个处理进程按照分配的事务得到频繁模式树,全局频繁 1-项集列表里的每个项皆由一个结点链和每个局部的 FP-tree 中
的结点相连;
4) 在全局 1-频繁项集列表、多颗局部 FP-tree 以及它们之间的相互连接组成的并行频繁模式树上面 ,进而可以进行并行频繁
模式的挖掘。
FP并行算法的几个相关方向的更多相关文章
- 中国各城市PM2.5数据间的相关分析
code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...
- P&R 3
Floorplan: 要做好floorplan需要掌握哪些知识跟技能? 通常,遇到floorplan问题,大致的debug步骤跟方法有哪些? 如何衡量floorplan的QA? Floorplan是后 ...
- top 10 tipis on Logging in Java- Tutorial (翻译)
开篇废话,就记得出国之前有一回腾讯面试,面试官说既然你都快要出国了,英语肯定挺不错的,那为什么不去翻译一些国外好的文章呢,我希望找一个能主动学习的人,一直受教.目前在实习,需要做大数据相关方向,都是挺 ...
- halcon算子
halcon的算子列表 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样 ...
- 【深入BFC】 关于CSS中float布局,清除浮动,和margin合并的原理解析,解开你心中的那些困惑!
BFC的通俗理解: Block Formatting Context(块级格式化上下文)是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. ...
- 干货之UICollectionViewFlowLayout自定义排序和拖拽手势
使用UICollectionView,需要使用UICollectionViewLayout控制UICollectionViewCell布局,虽然UICollectionViewLayout提供了高度自 ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数008,matrix,矩阵函数
** 3dFromFundamentalMatrix( Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovC ...
- halcon的算子列表
Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ...
- [Z]CS权威会议
CS Conference TOP 40 计算机会议TOP40 一.A 类 15 个 ASPLOS: Architecture Support for Programming Languages an ...
随机推荐
- Output data in a cursor
http://www.java2s.com/Code/SQL/Cursor/Outputdatainacursor.htm mysql> mysql> mysql> CREATE T ...
- Firemonkey 移动平台 Form 显示使用 ShowModal 范例
procedure TForm1.Button1Click(Sender: TObject); begin Form2 := TForm2.Create(Self); Form2.ShowModal( ...
- Java分布式开发
分布式概念的引入是基于性能的提升,应用的可靠性而提出的.所谓Java分布式,即是在使用Java语言进行企业级应用开发的过程中,采用分布式技术解决业务逻辑的高并发.高可用性的一些架构设计方案. 1. R ...
- C#多线程学习笔记
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- windows根据端口号找进程
d:\>netstat -ano | findstr "7777" TCP 127.0.0.1:7776 127.0.0.1:7777 ESTABLISHED 11764 T ...
- java多线程-线程创建
Java 线程类也是一个 object 类,它的实例都继承自 java.lang.Thread 或其子类. 可以用如下方式用 java 中创建一个线程,执行该线程可以调用该线程的 start()方法: ...
- 钉钉客户端JS-API权限签名算法.NET版
前段时间写了一篇博文<钉钉如何进行PC端开发>,在里面并未解决本地生成签名的问题,需要到官网进行生成,由于钉钉门票等认证信息会超期,因此,必须能本地用代码自动更新相关参数信息,来换取签名. ...
- Slideout.js – 触摸滑出式 Web App 导航菜单
Slideout.js 是为您的移动 Web 应用开发的触摸滑出式的导航菜单.它没有依赖,自由搭配简单的标记,支持原生的滚动,您可以轻松地定制它.它支持不同的 CSS3 转换和过渡.最重要的是,它只是 ...
- [deviceone开发]-do_Camera的简单示例
一.简介 do_Camera组件是通过拍照裁剪来生成图片的组件,这个示例直观的展示组件基本的使用方式 二.效果图 三.相关下载 https://github.com/do-project/code4d ...
- Repeater分页代码
//ASP.NET中的DataList和Repeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式! //.可惜的是 ...