论文部分内容阅读
自上个世纪后期以来,数据的获取技术日益发展壮大,在数据库已有的技术之上不断的推陈出新,信息的日益膨胀改变着传统的数据提取方式。数据流逐渐成为一种主流的数据形式,如何从中快速高效提取有价值的信息,逐渐成为数据挖掘领域的热点问题。针对数据流的动态变化特性,数据流的聚类一定要是动态执行的,能够对数据进行不间断的处理,其次,对于挖掘结果的表现形式要直观且简洁。此外,数据流聚类算法要能够表现出数据流动态演化的过程,并对聚类的结果能够动态的进行维护,体现数据流的时效性。基于网格的聚类方法利用空间的多维属性将数据的聚类以网格的形式进行,对数据的输入顺序不敏感,能对各种形状的簇进行聚类。传统的基于网格的数据流聚类算法由于是在同一粒度的网格上进行聚类,虽然提高了处理速度,但聚类准确性往往比较低。针对此问题,在对传统网格硬性划分所存在的缺陷进行改进的基础上,提出了“双层网格”的概念,并在D-Stream算法的基础上提出新的基于双层网格和密度的数据流聚类算法DBG-Stream。算法在两种粒度的网格上对数据流进行聚类,并借鉴了CluStream算法的思想,将聚类过程分为两个阶段。在线过程中利用粗粒度的网格单元形成初始聚类,离线过程中在细粒度网格单元上对位于簇边界的网格单元进行二次聚类以提高聚类精度,并以金字塔时间框架存储快照,以便用户分析数据流的演变情况。此外还实现了关键参数的自动设置,减少算法对人工输入的依赖。通过对初始聚类的顺序进行调整,避免了孤立簇的形成。此外,通过制定删格策略进一步减少了内存的消耗有效提高了算法的效率。实验结果表明,DBG-Stream算法聚类精确度较D-Stream算法有很大提高,保证了处理速率,有效解决了传统基于网格聚类算法的聚类精度不高的问题。该算法能够发现任意形状的簇,适用于大规模数据流的知识挖掘。