为了提高数据流频繁模式挖掘的效率,文中基于经典的数据流频繁模式挖掘算法FP-Stream和分布式并行计算原理,设计了一种分布式并行化数据流频繁模式挖掘算法—DPFP-Stream(Distributed Parallel Algorithm of Mining Frequent Pattern on Data Stream)。该算法将建立频繁模式树的任务分为local和global两部分,并设置了参数"当前时间";将到达的流数据平均分配到多个不同的local节点,各local节点使用FP-Growth算法产生该单位时间内本节点的候选频繁项集,并按照单位时间将候选频繁项集及其支持度计数打包发送至global节点;global节点按"当前时间"合并各local节点的中间结果并更新模式树Pattern-Tree。在分布式数据流计算平台Storm上进行的算法实现和性能测试结果表明,DPFP-Stream算法的计算效率能够随着local节点或local bolt线程的增加而提高,适用于高效挖掘数据流中的频繁模式。
目前通行的社区划分方法大多基于结构,但单纯基于结构的划分不能挖掘出社区对象的潜在关系,因而不能发现社区的变化趋势。为此,提出了基于结构的社区划分算法(Community Division based on Structure,CDS)。该算法利用度和节点欧氏距离对社会网络进行结构划分;同时针对经典K-means算法在社区划分中所存在的随机选取初始中心点以及k值选取不合理所导致的聚类结果不佳问题,提出了一种基于社区结构的非人为设定k值的K-means算法—NPCluster(Non Presetting Cluster)算法。该算法基于由CDS算法所提到的社区结构,依次选取度最大的节点作为聚类中心点,以小于平均特征欧氏距离为基准合并簇集,反复迭代直至聚类完成。理论分析和对比实验结果表明,CDS算法能够有效划分出社区结构;相对于K-means算法,NPCluster算法在已划分的社区结构上具有更高的聚类精度和更好的时效性;结构与属性相结合的社区划分方法是有效可行的。