1. 程式人生 > >聚類模型性能評價指標

聚類模型性能評價指標

art tps images 性能 一個 不同類 不能 順序 png

有監督的分類算法的評價指標通常是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

聚類模型性能評價指標