是一种聚类评估指标,用于评估数据聚类的效果。其取值范围在[-1, 1]之间,指标值越大表示聚类结果聚类效果越好。

轮廓系数既要考虑聚类结果的紧密性,又要考虑聚类结果之间的分离度。如果一个数据点与自己所属的簇内的其他数据点的距离很小,但是与其他簇中的数据点的距离很大,就表示这个数据点所在的簇内紧密度高,簇间分离度大,那么该数据点的轮廓系数就会越大。

定义

对于每个样本 ii

  • a(i)a(i):样本 ii同簇内其他样本的平均距离(越小越好)。
  • b(i)b(i):样本 ii最近其他簇中样本的平均距离(越大越好)。

轮廓系数定义为:

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

取值范围

s(i)[1,1]s(i) \in [-1,1]

  • 接近1:说明样本距离本簇内其他点较近,且远离其他簇,聚类效果好。
  • 接近0:样本在两个簇的边界上,不确定归属。
  • 小于0:样本可能被错误分类到了错误的簇中。

轮廓系数的整体评价

整体轮廓系数可以通过对所有样本的 s(i)s(i) 取平均得到

  • 通常用于评估整个聚类的好坏。

  • 可以用来选择最佳簇数 kk,例如在 K-means 中尝试不同 kk,选择使整体轮廓系数最大的那个。