论文部分内容阅读
现实生活中的信息,有很多都是以流数据的形式产生的,如传感器网络监控信息、网络安全监控、web用户点击流、气象监控及分析,有着广泛的应用背景。又因数据流具有连续性、未知性、潜在无限性,传统的数据挖掘算法不能直接应用在数据流之上。因此,如何有效地挖掘和管理数据流吸引了大批研究人员的目光,成为了一个新的研究热点,其中频繁项集挖掘是数据流处理技术中的一个重要组成部分。 本文首先对数据挖掘技术进行了简要介绍,并对经典算法进行了介绍及分析。为了避免用户在每次挖掘时都要设置一个恰当的最小支持度阈值,且更好地理解挖掘到的频繁项集,提出了挖掘数据流中Top-k频繁闭项集的挖掘算法。该算法采用分段挖掘的思想挖掘基本窗口中的频繁闭合模式,以实现挖掘滑动窗口中的k个最频繁的闭合项集。并且通过对挖掘项集长度的限制,更好的满足用户的需求,同时由于算法对不符合用户指定长度的项集不进行处理,势必会使精度有一定的损失,但也可以提高算法的挖掘速度。用户需要做的就是根据实际应用的需要,在速度和精度之间找到平衡。为了验证算法的有效性,对算法进行了仿真实验,结果表明算法拥有良好的时空效率,对项集长度的限制所带来的精度下降也可以由用户来控制,可以较好地完成相关的数据流挖掘任务。 为了能够同时处理多条数据流,提高算法的整体效率,在挖掘基本窗口频繁闭合模式算法的基础上,引入了诸如轮询,预处理以及对数据流的加入和退出等处理方案,形成了一个可以处理多数据流的策略。最后,按照MapReduce编程框架对算法进行了实现,构成了一个多数据流频繁项集挖掘原型系统。系统先将数据流封装成较小的静态分割,再逐块挖掘频繁项集并提供给用户查询,实现多数据流的挖掘处理。实验测试结果表明,系统能够同时对多条数据流进行有效地处理,且在时空效率、系统资源利用率以及可扩展性方面都有良好的表现,可以满足大规模多数据流频繁项集挖掘的应用需求。