暑期任务, “补档”.
题目: An incremental density-based clustering framework using fuzzy local clustering
IDC(One-pass incremental density-based clustering):
包括两个过程:局部聚类和最终聚类。
存在的缺陷:单独处理每一个数据点而不是考虑整个数据集, 对于流数据来说没什么关系因为流数据有特定的传入序列. 对于传统数据集, 它的最终簇是由整个数据组成的, 而不同的处理顺序可能会导致不一样的聚类结果; 对于复杂的数据集, IDC要求用户输入的用于区分噪声的单个阈值不能有效地应对不同分布的簇.
为了解决以上问题, 该论文基于IDC框架提出了FLDC (Fuzzy incremental density-based algorithm), 采用它的两步骤——微聚类 (局部聚类)、最终聚类; 利用FLCA实现微聚类, 利用MVSA实现最终聚类.
FLCA (Fuzzy local clustering algorithm):
为了减少不同处理顺序的不一致性, 允许一个数据点可以属于多个局部簇. 这样产生的聚类结果在不同的处理顺序上会变得更加稳定.
MVSA (Modified valley seeking algorithm):
对于复杂的数据集, 它可以自动估计每个密度峰值的密度阈值; 并且所需的用户参数较少, 简化了参数构建过程.
优点: 与其他基于密度的聚类算法相比, 处理大型数据集所使用的时间少, 能更有效地处理不同密度的数据.
不足: 在处理小规模数据时, FIDC的计算速度不如DBSCAN等算法; 当处理的数据集较为分散时, FIDC可能就不会产生聚类结果; 对于高纬度的数据, 它也不能有效的进行处理.
源码测试 :
(ps: FIDC_traditional 代码不能正常运行)
1. KDD数据集
参数设置: rg=0.5; wnd_len = 10000; lambda = 0.2e-3
clst_pnt:
pf_mat: (列分别对应SIZE, NMI, AR, RI)
对上部分数据取平均:
2. NSL-KDD数据集
参数设置: rg=0.5; wnd_len = 10000; lambda = 0.2e-3
clst_pnt:
pf_mat:
平均:
3. Covertype
参数设置: rg = 0.4; wnd_len = 5000; lambda= 0.4e-3
clst_pnt:
pf_mat:
取平均:
通过测试, 其结果与论文所述基本吻合.