【第二章:机器学习与神经网络概述】01.聚类算法理论与实践-(4)聚类算法的评价指标

第二章: 机器学习与神经网络概述

第一部分:聚类算法理论与实践

第四节:聚类算法的评价指标

内容:轮廓系数、轮廓图、纯度与互信息

  • 轮廓系数(Silhouette Coefficient):衡量样本与本簇的紧密度与其他簇的分离度,值越高聚类效果越好。

  • 纯度(Purity):评估聚类结果与真实类别的一致性。

  • 归一化互信息(NMI):度量聚类结果与真实标签的相关性,值介于 0 到 1 之间,越接近 1 表示越一致。 


聚类是无监督学习,其结果通常缺乏“正确答案”。因此需要借助一系列评价指标来衡量聚类的合理性与效果。指标分为两大类:

  • 内在指标(Internal):不依赖真实标签,如轮廓系数。

  • 外在指标(External):依赖真实标签,如纯度、互信息等。


一、轮廓系数(Silhouette Coefficient)

轮廓系数同时考虑簇内紧密度簇间分离度,每个样本的轮廓系数定义如下:

s(i) = \frac{b(i) - a(i)}{\max(a(i), b(i))}

其中:

  • a(i):样本 i 到本簇中其他样本的平均距离(簇内距离)

  • b(i):样本 i 到最近其他簇的所有样本的平均距离(最近簇间距离)

取值范围: [-1, 1]

  • 越接近 1:聚类效果好(簇内距离小,簇间距离大)

  • 接近 0:边界样本

  • 小于 0:错误聚类


二、轮廓图(Silhouette Plot)

轮廓图直观展示每个样本的轮廓系数,按簇分类绘制。分析要点:

  • 各簇的宽度应类似(样本分布均衡)

  • 所有样本的轮廓系数越高越好

  • 用于辅助选取最佳聚类数(如 KMeans)

scikit-learn 示例:

from sklearn.metrics import silhouette_score, silhouette_samples
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

score = silhouette_score(X, labels)  # 全局平均
sample_values = silhouette_samples(X, labels)  # 每个样本

 

这是根据 KMeans 聚类结果生成的轮廓图(Silhouette Plot)

  • 每条水平条形表示一个样本的轮廓系数;

  • 不同颜色代表不同簇;

  • 红色虚线表示所有样本的平均轮廓系数(本例中约为 0.85);

  • 条形越长、越靠近右侧,表示聚类越合理;

  • 该图用于判断聚类结构清晰度及是否存在不合理聚类(如负轮廓系数)。


三、纯度(Purity)

外部指标,基于已知标签衡量聚类的准确性:

\text{Purity} = \frac{1}{n} \sum_k \max_j |C_k \cap T_j|

其中:

  • C_k:第 k 个聚类

  • T_j:第 j 个真实类别

  • n:样本总数

解释: 每个聚类中占比最多的类别作为该簇的“主类别”,然后计算所有正确分类样本所占的比例。


四、互信息与归一化互信息(NMI)

衡量聚类结果与真实标签之间的“信息重合度”。

互信息(MI)

MI(C, T) = \sum_{c \in C} \sum_{t \in T} P(c, t) \log \frac{P(c, t)}{P(c) P(t)}

归一化互信息(NMI)

NMI(C, T) = \frac{MI(C, T)}{\sqrt{H(C) H(T)}}

  • H(C):聚类标签的熵

  • H(T):真实标签的熵

  • NMI \in [0,1],越接近 1 表示聚类越贴合真实标签

scikit-learn 示例:

from sklearn.metrics import normalized_mutual_info_score
nmi = normalized_mutual_info_score(true_labels, predicted_labels)

五、综合比较
指标类型是否需真实标签值域解读方式
轮廓系数内部指标[−1,1][-1,1]越大表示越合理
轮廓图内部指标可视化图形越高越宽越分明越好
纯度外部指标[0,1][0,1]越大越接近真实标签
NMI外部指标[0,1][0,1]越接近 1 越说明聚类效果更好

总结建议
  • 若无标签,优先使用轮廓系数和轮廓图;

  • 若有标签,推荐使用 NMI 或 Adjusted Rand Index(ARI);

  • 可组合多个指标对聚类结果进行综合评估;

  • 可视化轮廓图、聚类图、混淆矩阵有助于直观判断效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值