大数据频繁模式挖掘技术解析
1. 并行频繁项集挖掘工作分配
在并行计算中,工作的均匀分配至关重要。在 ParEclat 中,采用了一种贪心算法来实现工作在各个进程间的均匀分配。具体步骤如下:
1. 为每个等价类赋予一个基于其基数的权重。
2. 根据权重来分配等价类,使得每个进程所分配到的等价类子集的权重均匀。
而对于模式增长方法,Cong 等人提出了更高级的工作分配方案,用于 Par - FP 算法。该方案使用选择性采样作为预处理步骤,以估计基于特定项执行 FP - Growth 的成本,具体操作如下:
1. 从所有事务中丢弃 t 个最频繁的项(t 为应用参数)以及任何不频繁的项。
2. 基于剩余的项构建 FP - Tree,并由单个进程进行挖掘,记录每个采样项的投影数据库的挖掘执行时间。
3. 采样步骤完成后,按照以下方式划分每个项 i 的挖掘工作:
- 将采样项中被识别为“大项”(即样本执行时间显著高于工作均匀分配时的预期执行时间的项)进一步拆分为子任务,并以轮询的方式分配给进程。
- 对于其他采样项,使用基于样本执行时间的分箱算法进行分配。
- 未采样的频繁项以轮询的方式分配给进程。
2. 动态负载均衡
在频繁项集挖掘(FIM)中,在同构系统中可以通过工作分区以较为准确的方式估计工作执行成本,但 MapReduce 系统通常是异构的,由具有不同计算能力或资源可用性的节点组成。
Lin 等人针对 SPC 算法在 Apriori 后期迭代中候选项集数量通常较少,导致 MapReduce 作业启动和调度开销增加的问题,提出了 FPC 和 DPC 两种动态负载
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



