数据流聚类算法对比分析
在数据分析领域,数据流聚类算法的性能评估至关重要。本文将对三种不同的数据流聚类算法进行对比,探讨它们在不同场景下的表现。
算法概述
有这样一种算法,它分为在线和离线两个阶段,思路与 CluStream 类似。在线阶段,随着数据流中每个点的到来,树 T 会被更新,并且每隔时间间隔 tp 会从根节点开始执行一次修剪操作。离线阶段则是选择树中高度为 h 的一组节点进行聚类,确定距离为 d 的所有可达密集单元格并将它们标记为一个簇。
对比方法
为了比较三种算法在特定问题类上的性能,选择生成遵循多元高斯分布的聚类。原因在于这种分布易于理解、数学处理简单且适用于许多场景。具体操作如下:
1. 第一组实验数据集生成 :使用特定算法创建了 30 个合成数据集,生成 100K 二维点,分布在三个簇中,且不存在概念漂移。部分数据集结构简单,部分则存在簇之间的重叠。
2. 第二和第三组实验数据集生成 :使用两个高斯分布的混合生成聚类。模拟概念漂移为高斯分布均值的变化,通过 sigmoid 函数调整高斯分布的权重。
- 第二组实验同样生成 100K 二维点分布在三个簇中,随着时间推移点会向新的均值移动。
- 第三组实验生成 100K 点,数据为 8 维,包含概念漂移、噪声和冗余属性,更接近现实场景。
在评估算法时,主要从执行时间、内存使用和聚类质量三个方面进行考量。执行时间要求算法对输入大小具有高效性;内存使用方面,由于数据流可能是无限的,无法将所有实例存储在内存中;聚类质量采用归一化互信息(NMI)和调整兰德指数(ARI
超级会员免费看
订阅专栏 解锁全文

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



