輪廓係數(Silhouette Coefficient),是聚類效果好壞的一種評價方式。最早由 Peter J. Rousseeuw 在 1986 提出。它結合內聚度和分離度兩種因素。可以用來在相同原始數據的基礎上用來評價不同算法、或者算法不同運行方式對聚類結果所產生的影響。
輪廓係數公式:
其中,a(i)代表樣本點i的凝聚度:
j代表與樣本點i同一類內的其餘樣本點,distance為i與j之間的距離,因此a(i)越小代表該類越緊密。b(i)則為樣本點i的分離度,計算方式與a(i)類似,但距離計算對象為其他類,公式如下:
b(i)也就是樣本點i與最近類別間的距離。因此該公式可以表示為:
輪廓係數範圍為[-1, 1],值越大代表聚類效果越好。其意義為當凝聚度小於分離度,代表該類較為集中且與其他類別距離較遠,聚類合理;當凝聚度大於分離度,代表該類不集中且與其他類別較為靠近,因此該樣本應屬於其他類別;相等時,代表位於兩個類別的邊界上。
而所有樣本的S(i)值取平均,即為聚類評估結果。
輪廓係數缺點:
- 對於凸型數據分布,輪廓係數較高,非凸數據輪廓係數較低
- 不同聚類算法不能相互比較輪廓係數,算法聚類特性不同