成對混淆矩陣#

sklearn.metrics.cluster.pair_confusion_matrix(labels_true, labels_pred)[來源]#

由兩個叢集產生的成對混淆矩陣。

成對混淆矩陣 \(C\) 通過考慮所有樣本對,並計算在真實和預測叢集中被分配到相同或不同叢集的樣本對,來計算兩個叢集之間的 2x2 相似度矩陣 [1]

考慮一對被叢集在一起的樣本為正樣本對,那麼與二元分類相同,真負例計數為 \(C_{00}\),偽負例為 \(C_{10}\),真陽例為 \(C_{11}\),而偽陽例為 \(C_{01}\)

詳情請參閱使用者指南

參數:
labels_true形狀為 (n_samples,) 的類陣列,dtype=integral

作為參考的真實類別標籤。

labels_pred形狀為 (n_samples,) 的類陣列,dtype=integral

要評估的叢集標籤。

回傳值:
C形狀為 (2, 2) 的 ndarray,dtype=np.int64

列聯表。

另請參閱

sklearn.metrics.rand_score

蘭德分數。

sklearn.metrics.adjusted_rand_score

調整蘭德分數。

sklearn.metrics.adjusted_mutual_info_score

調整互信息。

參考文獻

範例

完全匹配的標記在對角線上都有非零條目,而不管實際標籤值如何

>>> from sklearn.metrics.cluster import pair_confusion_matrix
>>> pair_confusion_matrix([0, 0, 1, 1], [1, 1, 0, 0])
array([[8, 0],
       [0, 4]]...

將所有類別成員分配到相同叢集的標記是完整的,但可能並不總是純粹的,因此會受到懲罰,並且具有一些非對角的非零條目

>>> pair_confusion_matrix([0, 0, 1, 2], [0, 0, 1, 1])
array([[8, 2],
       [0, 2]]...

請注意,矩陣不是對稱的。