聚類模型性能評價指標


有監督的分類算法的評價指標通常是accuracy, precision, recall, etc;由於聚類算法是無監督的學習算法,評價指標則沒有那么簡單了。因為聚類算法得到的類別實際上不能說明任何問題,除非這些類別的分布和樣本的真實類別分布相似,或者聚類的結果滿足某種假設,即同一類別中樣本間的相似性高於不同類別間樣本的相似性。聚類模型的評價指標如下:

1. Adjusted Rand Index(蘭德指數):

若已知樣本的真實類別標簽labels_true ,和聚類算法得到的標簽labels_pred,ARI是計算兩種標簽分布相似性的函數,該函數對標簽的定義形式沒有要求。scikit-learn中的示例代碼如下:

1 from sklearn import metrics
2 labels_true = [0, 0, 0, 1, 1, 1]
3 labels_pred = [0, 0, 1, 1, 2, 2]
4 metrics.adjusted_rand_score(labels_true, labels_pred)
1 metrics.adjusted_rand_score(labels_pred, labels_true)
adjusted_rand_score方法的輸入參數沒有順序要求,上面兩種結果是完全一樣的。
最好的聚類結果是聚類類別和真實類別的分布完全一致,如下代碼,結果為1
1 labels_pred = labels_true[:]
2 metrics.adjusted_rand_score(labels_true, labels_pred)

較差的聚類結果會得到負的或者接近0的蘭德指數,如下代碼

1 labels_true = [0, 1, 2, 0, 3, 4, 5, 1]
2 labels_pred = [1, 1, 0, 0, 2, 2, 2, 2]
3 metrics.adjusted_rand_score(labels_true, labels_pred)

結果為 -0.12

ARI的優點:

  • 隨機均勻的標簽分布的ARI值接近0,這點與raw Rand Index和 V-measure指標不同;
  •  ARI值的范圍是[-1,1],負的結果都是較差的,說明標簽是獨立分布的,相似分布的ARI結果是正的,1是最佳結果,說明兩種標簽的分布完全一致;
  •  不用對聚類結果做任何假設,可以用來比較任意聚類算法的聚類結果間的相似性。

ARI的缺點:

ARI指標需要事先知道樣本的真實標簽,這和有監督學習的先決條件是一樣的。然而ARI也可以作為一個通用的指標,用來評估不同的聚類模型的性能。

數學公式:

 如果C是真實類別,K是聚類結果,我們定義a和b分別是:
a: 在C和K中都是同一類別的樣本對數

b: 在C和K中都是不同類別的樣本對數

raw Rand Index 的公式如下:

 

C2nsamples  是樣本所有的可能組合對.

RI不能保證在類別標簽是隨機分配的情況下,其值接近0(極端情況是類別數和樣本數相等)

為了解決這個問題,ARI被提出,它具有更高的區分度.

 

參考:

 http://scikit-learn.org/stable/modules/clustering.html#clustering-performance-evaluation

http://blog.csdn.net/sinat_33363493/article/details/52496011

https://en.wikipedia.org/wiki/Rand_index

https://stats.stackexchange.com/questions/89030/rand-index-calculation


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM