成对混淆矩阵#

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

来自两种聚类的成对混淆矩阵。

成对混淆矩阵 \(C\) 通过考虑所有样本对并计算在真实和预测聚类下分配到相同或不同聚类的样本对的数量来计算两种聚类之间的 2x2 相似性矩阵 [1]

如果将一起聚类的样本对视为正样本对,那么与二元分类一样,真阴性计数为 \(C_{00}\),假阴性计数为 \(C_{10}\),真阳性计数为 \(C_{11}\),假阳性计数为 \(C_{01}\)

更多信息请参见 用户指南

参数:
labels_truearray-like of shape (n_samples,), dtype=integral

用作参考的真实类别标签。

labels_predarray-like of shape (n_samples,), dtype=integral

要评估的聚类标签。

返回值:
Cndarray of shape (2, 2), dtype=np.int64

列联表。

参见

sklearn.metrics.rand_score

Rand 指数。

sklearn.metrics.adjusted_rand_score

调整后的 Rand 指数。

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]]...

请注意,该矩阵不是对称的。