contingency_matrix#

sklearn.metrics.cluster.contingency_matrix(labels_true, labels_pred, *, eps=None, sparse=False, dtype=<class 'numpy.int64'>)[source]#

构建描述标签之间关系的列联矩阵。

用户指南中阅读更多内容。

参数:
labels_true形状为 (n_samples,) 的类数组

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

labels_pred形状为 (n_samples,) 的类数组

要评估的簇标签。

epsfloat, default=None

如果是一个浮点数,该值将被添加到列联矩阵中的所有值上。这有助于阻止 NaN 传播。如果为 None,则不进行任何调整。

sparsebool, default=False

如果为 True,返回一个稀疏的 CSR 列联矩阵。如果 eps 不为 NonesparseTrue,将引发 ValueError。

版本 0.18 新增。

dtypenumeric type, default=np.int64

输出数据类型。如果 eps 不为 None,则忽略此参数。

0.24 版本新增。

返回:
contingency{array-like, sparse}, shape=[n_classes_true, n_classes_pred]

矩阵 \(C\),其中 \(C_{i, j}\) 是真实类别 \(i\) 和预测类别 \(j\) 中的样本数量。如果 eps is None,此数组的数据类型将是整数,除非通过 dtype 参数另行设置。如果给定了 eps,数据类型将是浮点数。如果 sparse=True,将是 sklearn.sparse.csr_matrix

示例

>>> from sklearn.metrics.cluster import contingency_matrix
>>> labels_true = [0, 0, 1, 1, 2, 2]
>>> labels_pred = [1, 0, 2, 1, 0, 2]
>>> contingency_matrix(labels_true, labels_pred)
array([[1, 1, 0],
       [0, 1, 1],
       [1, 0, 1]])