混淆矩阵#
- sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)[source]#
- 计算混淆矩阵以评估分类的准确性。 - 根据定义,混淆矩阵\(C\)使得\(C_{i, j}\)等于已知属于组\(i\)并预测属于组\(j\)的观测数。 - 因此,在二元分类中,真阴性计数为\(C_{0,0}\),假阴性计数为\(C_{1,0}\),真阳性计数为\(C_{1,1}\),假阳性计数为\(C_{0,1}\)。 - 更多信息请参见用户指南。 - 参数:
- y_true形状为 (n_samples,) 的类数组
- 真实目标值。 
- y_pred形状为 (n_samples,) 的类数组
- 分类器返回的估计目标值。 
- labels形状为 (n_classes) 的类数组,默认为 None
- 用于索引矩阵的标签列表。这可以用于重新排序或选择标签的子集。如果给出 - None,则使用在- y_true或- y_pred中至少出现一次的标签,并按排序顺序排列。
- sample_weight形状为 (n_samples,) 的类数组,默认为 None
- 样本权重。 - 在 0.18 版本中添加。 
- normalize{'true', 'pred', 'all'},默认为 None
- 根据真实值(行)、预测值(列)或所有样本对混淆矩阵进行归一化。如果为 None,则混淆矩阵不会被归一化。 
 
- 返回:
- C形状为 (n_classes, n_classes) 的 ndarray
- 混淆矩阵,其中第 i 行第 j 列的条目表示真实标签为第 i 类且预测标签为第 j 类的样本数。 
 
 - 另请参见 - ConfusionMatrixDisplay.from_estimator
- 根据估计器、数据和标签绘制混淆矩阵。 
- ConfusionMatrixDisplay.from_predictions
- 根据真实标签和预测标签绘制混淆矩阵。 
- 混淆矩阵显示
- 混淆矩阵可视化。 
 - 参考文献 [1]- 混淆矩阵的维基百科词条(维基百科和其他参考文献可能对轴使用不同的约定)。 - 示例 - >>> from sklearn.metrics import confusion_matrix >>> y_true = [2, 0, 2, 2, 0, 1] >>> y_pred = [0, 0, 2, 2, 0, 2] >>> confusion_matrix(y_true, y_pred) array([[2, 0, 0], [0, 0, 1], [1, 0, 2]]) - >>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"] >>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"] >>> confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"]) array([[2, 0, 0], [0, 0, 1], [1, 0, 2]]) - 在二元情况下,我们可以提取真阳性等,如下所示 - >>> tn, fp, fn, tp = confusion_matrix([0, 1, 0, 1], [1, 1, 1, 0]).ravel() >>> (tn, fp, fn, tp) (np.int64(0), np.int64(2), np.int64(1), np.int64(1)) 
 
     
 
 
