pair_confusion_matrix#

sklearn.metrics.cluster.pair_confusion_matrix(labels_true, labels_pred)#

由两个聚类产生的对混淆矩阵。

对混淆矩阵 \(C\) 通过考虑所有样本对,计算两个聚类之间的 2x2 相似度矩阵, 并统计将样本分配到真实聚类和预测聚类中相同或不同簇的对数 [1]

如果将一对被聚类在一起的样本视为正对,则如同二元分类一样, 真负例的计数是 \(C_{00}\) ,假负例是 \(C_{10}\) ,真正例是 \(C_{11}\) ,假正例是 \(C_{01}\)

用户指南 中了解更多信息。

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

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

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

用于评估的聚类标签。

Returns:
Cndarray of shape (2, 2), dtype=np.int64

列联矩阵。

See also

sklearn.metrics.rand_score

Rand Score.

sklearn.metrics.adjusted_rand_score

Adjusted Rand Score.

sklearn.metrics.adjusted_mutual_info_score

Adjusted Mutual Information.

References

Examples

完全匹配的标记具有对角线上的所有非零条目,而不考虑实际标签值:

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

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