聚类性能评估

17 Mar 2025 | 5 分钟阅读

本教程将探讨利用 Scikit Learn Python 机器学习库评估聚类算法的几种方法。聚类被许多程序使用,包括分割、模式识别、Google 等搜索引擎以及其他。

对于这个数据集,我们将采用一种称为 KMeans 聚类算法的基于密度的聚类方法集。

输出

Clustering Performance Evaluation

性能评估指标

在模型构建之后,我们经常会做一些预测。但是,我们如何确认结果呢?我们又如何得出结论呢?总之,评估指标变得非常重要。机器学习实现中的关键阶段是评估指标。它们主要用于评估模型在测试或推理数据上相对于真实数据的性能如何。

现在让我们来看几个常见的 Scikit-Learn 聚类性能评估。

五个常用的聚类性能评估指标

调整兰德指数 (Adjusted Rand Index)

调整兰德指数 (ARI) 是一种用于衡量两个聚类之间相似度的评估指标。它考虑了 n 个样本的所有成对组合,并计算实际聚类和预测聚类中分配到相同或不同簇的样本对的数量。

调整兰德指数得分的定义是


输出

0.7812362998684788

得分高于 0.7 被认为是良好的匹配。

兰德指数 (Rand Index)

兰德指数与调整兰德指数不同。通过考虑 n_sample 中的所有成对组合,兰德指数可以确定两个聚类的相似度,尽管其范围是 0 到 1。相比之下,ARI 的范围是 -1 到 1。

兰德指数的定义是


输出

0.9198396793587175

轮廓分数(Silhouette Score)又称轮廓系数(Silhouette Coefficient)

轮廓分数,也称为轮廓系数,范围在 -1 到 1 之间。当一个数据点的分数接近 1 时,表示该数据点属于的簇很紧凑,并且与其他簇的距离很远。分数为 -1 时表示该数据点相关性最低或最差。分数为零时表示簇之间存在重叠。

输出

0.7328381899726921

戴维斯-博尔丁指数 (Davies-Bouldin Index)

戴维斯-博尔丁指数得分是每个簇与其最相似簇之间的平均相似度度量。相似度被测量为簇内距离与簇间距离之比。因此,距离较远且离散度较低的簇将获得更高的分数。最小得分为零,而较低的值表示更好的分组。

输出

0.3389800864889033

互信息 (Mutual Information)

两个簇之间的互信息是衡量同一数据的两个标签之间相似度的度量。换句话说,它用于比较预测模型标签与真实标签目标之间的互信息。

输出

1.3321790402101235

选择最佳聚类技术以适应特定数据集并评估聚类结果的质量取决于聚类性能的评估。使用各种指标和技术。以下是通常采用的一些方法:

1. 外部验证指标

  • 调整兰德指数 (ARI):调整兰德指数 (ARI) 通过比较实际簇和预测簇之间的相似度来解释随机变化。
  • 标准化互信息 (NMI):衡量实际簇和预测簇之间互信息的熵标准化度量。

2. 内部验证指标

  • 轮廓分数:表示一个数据点与其簇的相似程度以及与其他簇的距离。高分表示聚类效果好;分数范围为 -1 到 1。
  • 戴维斯-博尔丁指数:戴维斯-博尔丁指数衡量簇的紧密度和分离度。较低的值表示聚类效果更好。

3. 簇稳定性

  • Jaccard 指数或 Rand 指数:Jaccard 指数,也称为 Rand 指数,评估在多次算法运行后簇之间的相似度。更强的稳定性表示更强的聚类。

4. 可视化

  • 簇可视化:直观地分析聚类结果可以提供有关簇质量的信息。诸如 PCA 或 t-SNE 等方法可用于测量和可视化降维。
  • 树状图:树状图可以图形化地表示层次聚类中的分组结构。

5. 计算复杂度

  • 时间和空间复杂度:考虑聚类过程所需的计算能力,尤其是在处理大型数据集时。

6. 一致性

  • 簇一致性:分析当使用数据子集或更改数据样本时簇的稳定性。

7. 统计学意义

  • 置换检验:置换检验是一种统计检验,它通过与随机分配的比较来确定聚类结果的显着性。

8. 交叉检查

  • 交叉验证技术:为了评估聚类算法在不同数据子集上的鲁棒性,应用 k 折交叉验证等技术。

9. 外部数据

  • 外部数据源:如果可用,可以使用外部数据(如专家标记的数据)来验证聚类结果。

10. 特定领域指标

  • 应用特定指标:在某些情况下,基于聚类过程的特定目标,特定领域的指标可能更相关。

值得注意的是,不存在包罗万象的指标,评估指标的选择取决于数据的属性和聚类任务的目标。为了获得对聚类性能的全面了解,通常建议使用多种指标和验证技术的组合。

结论

总之,评估聚类算法的有效性对于确定生成的簇是否适合并且高质量地符合给定的数据集至关重要。因此,有各种各样的指标和方法可供选择,选择是根据任务的具体要求、数据的性质以及正在使用的聚类算法来确定的。通常建议使用各种评估方法来全面了解聚类性能,因为在统计学方面没有一种适合所有情况的解决方案。

当存在真实数据时,像标准化互信息 (NMI) 和调整兰德指数 (ARI) 这样的外部验证指标会很有帮助。内部验证指标,如戴维斯-博尔丁指数和轮廓分数,揭示了簇的紧密度和分离度。全面的评估还包括簇稳定性指标、可视化策略、计算复杂性考虑以及统计显着性检查。

最终,在选择聚类技术和解释结果时,应考虑特定应用程序的目标。对各种算法和参数配置进行一致的测试,并结合全面的性能评估,可以提高获得有意义且可靠的聚类结果的可能性。请记住,聚类是一个探索性过程,整个研究过程应该是一个在评估过程中迭代和适应的过程。


下一个主题谱共聚类