聚类性能评估(Clustering Evaluation and Assessment)
这篇文章是对聚类性能评估的总结,对应:
- 第四周:(10)4.10 聚类算法评估
- 《机器学习》(西瓜书):第9章 聚类 - 9.2 性能度量
- 维基百科(en):
- “Cluster analysis” 词条
- “Rand index”词条
- “Adjusted mutual information”词条
- “Silhouette (clustering)”词条
- sklearn官方文档
1 聚类性能评估的一些说明
说到聚类性能比较好,就是说同一簇的样本尽可能的相似,不同簇的样本尽可能不同,即是说聚类结果“簇内相似度”(intra-cluster similarity)高,而“簇间相似度”(inter-cluster similarity)低。
聚类性能的评估(度量)分为两大类:
- 外部评估(external evaluation):将结果与某个“参考模型”(reference model)进行比较;
- 内部评估(internal evaluation):直接考虑聚类结果而不利用任何参考模型。
对有n个元素的数据集 D={ x1,x2,⋯,xn} D = { x 1 , x 2 , ⋯ , x n } :
- 假定聚类结果: X={ X1,X2,⋯,XK} X = { X 1 , X 2 , ⋯ , X K }
- 假定参考结果: Y={ Y1,Y2,⋯,YL} Y = { Y 1 , Y 2 , ⋯ , Y L }
那么将样本两两配对得:
- a=|SS|,whereSS={ (xi,xj)|xi,xj∈Xk;xi,xj∈Yl} a = | S S | , w h e r e S S = { ( x i , x j ) | x i , x j ∈ X k ; x i , x j ∈ Y l }
- b=|SD|,whereSD={ (xi,xj)|xi,xj∈Xk;xi∈Yl1,xj∈Yl2} b = | S D | , w h e r e S D = { ( x i , x j ) | x i , x j ∈ X k ; x i ∈ Y l 1 , x j ∈ Y l 2 }
- c=|DS|,whereDS={ (xi,xj)|xi∈Xk1,xj∈Xk2;xi,xj∈Yl} c = | D S | , w h e r e D S = { ( x i , x j ) | x i ∈ X k 1 , x j ∈ X k 2 ; x i , x j ∈ Y l }
- d=|DD|,whereDD={ (xi,xj)|xi∈Xk1,xj∈Xk2;xi∈Yl1,xj∈Yl2} d = | D D | , w h e r e D D = { ( x i , x j ) | x i ∈ X k 1 , x j ∈ X k 2 ; x i ∈ Y l 1 , x j ∈ Y l 2 }
其中:
- i≠j;1≤i,j≤n i ≠ j ; 1 ≤ i , j ≤ n
- k1≠k2;1≤k,k1,k2≤K k 1 ≠ k 2 ; 1 ≤ k , k 1 , k 2 ≤ K
- l1≠l2;1≤l,l1,l2≤L l 1 ≠ l 2 ; 1 ≤ l , l 1 , l 2 ≤ L
那么所有配对的总数,即集合中可以组成样本对的对数为:
a+b+c+d=(n2)=n(n−1)2 a + b + c + d = ( n 2 ) = n ( n − 1 ) 2
2 常用外部评估(external evaluation)
2.1 Rand Index(RI) and Adjust Rand Index(ARI)
Rand Index
RI=a+d(n2)=2(a+d)n(n−1)