如何对聚类结果进行分析_层次聚类方法——试验结果与分析

层次聚类方法存在的不足

在凝聚的层次聚类方法和分裂的层次聚类方法中,均需要用户指定所期望得到的聚类个数和阈值作为聚类过程的终止条件,但是对于复杂的数据来说这是很难事先判定的。层次聚类方法尽管简单,但经常会遇到合并或分裂点选择的困难。这样的决定是非常关键的,因为一旦一组对象被合并或者分裂,下一步的处理将在新生成簇的基础上进行。已做的处理不能被撤消,聚类之间也不能交换对象。如果在某一步没有很好地做出合并或分裂的决定,可能会导致低质量的聚类结果。而且,这种聚类方法不具有很好的可伸缩性,因为合并或分裂的决定需要检查和估算大量的对象或簇。 层次聚类算法由于要使用距离矩阵,所以它的时间和空间复杂性都为O(n2) ,几乎不能在较大的数据集上使用。层次聚类算法只处理符合某静态模型的簇,忽略了不同簇间的信息而且忽略了簇间的互连性(互连性指的是簇间距离较近数据对的多少)和近似性(近似性指的是簇间数据对的相似度)。

试验结果与分析

1 试验结果

本文选取的是 UCI 数据库中的Wine和Iris两组数据集。其中 Wine 包含 178个样本,13 个数值型属性,分成 3 个类,每个类分别有 59, 71, 48 个记录;Iris数据集有 150 条记录,数据集是四维的,分为 3 类,每一类有 50 个记录。在试验中我们对 DNMC 与传统的 M-Chameleon 算法进行了详细的比较,以下实验结果均在Matlab 软件平台上编程实现,试验结果如表 1 和表2 所示。

表1 Wine数据集的测试结果

如何对聚类结果进行分析_层次聚类方法——试验结果与分析_第1张图片

表2 对Iris数据集的测试结果

如何对聚类结果进行分析_层次聚类方法——试验结果与分析_第2张图片

2 聚类效果分析

对于类别归属已知的数据集通常采用f a指标衡量其聚类效果, 聚类指标fa 定义为:

如何对聚类结果进行分析_层次聚类方法——试验结果与分析_第3张图片

m为聚类结果中簇的个数Tpi , Fpi , Fni , Tni 的意义如表3所示。举例说明如下:Tpi 表示算法认定属于类别Ci的记录与事实上属于Ci的记录的交集;Fpi表示算法认定属于类别Ci的记录与事实上不属于Ci的记录的交集。Fni , Tni 的含义可类推。一般情况下, fa的值越大说明聚类效果越好,由文献知a通常取0.5.表3 和4所示,在对标准数据集 Wine和 Iris 的实验表明, DNMC 算法的f0.5 指标优于 M-Chameleon.

表3 Tpi , Fpi , Fni , Tni的意义

如何对聚类结果进行分析_层次聚类方法——试验结果与分析_第4张图片

如何对聚类结果进行分析_层次聚类方法——试验结果与分析_第5张图片

如何对聚类结果进行分析_层次聚类方法——试验结果与分析_第6张图片

图3 维数的降低对时间和f0.5的影响

小 结

介绍了几种经典的层次聚类方法,分析 Chameleon 算法的缺点,并在此基础上提出了 M-Chameleon 算法的改进算法DNCM,实验证明其不但提高了聚类的效果,降低了算法时间开销,而且还克服了作为层次聚类方法进行分解或合并之后,无法回溯的缺陷。下一步工作的重点是更好的结合降维技术,将 DNMC 算法运用到更高维的数据空间中去。

《来源科技文献,经本人分析整理,以技术会友,广交天下朋友》

你可能感兴趣的:(如何对聚类结果进行分析)