sklearn.metrics.confusion_matrix—计算混淆矩阵来评估分类的准确性

发布时间 2023-05-04 20:58:13作者: yayagogogo

分类模型的性能评估指标总结中,已讲过混淆矩阵形式,接下来将介绍如何通过sklearn库中的confusion_matrix函数快速获得混淆矩阵。

语法格式

sklearn.metrics.confusion_matrix(y_truey_pred*labels=Nonesample_weight=Nonenormalize=None)

参数解释:

  • y_true: 真实标签值。
  • y_pred: 通过分类器返回的预测标签。
  • labels: 索引矩阵的标签列表。
  • normalize: 接受true/pred/all,表示对真实(行) 、预测(列)条件或所有总体的混淆矩阵进行归一化。默认为None,则混淆矩阵不归一化。

代码示例

from sklearn.metrics import confusion_matrix
y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
y_pred = ["ant", "cat", "cat", "cat", "ant", "cat"]
confusion_matrix(y_true, y_pred)
# array([[1, 0, 1],
#        [0, 0, 1],
#        [1, 0, 2]], dtype=int64)
confusion_matrix(y_true, y_pred,labels=["cat","ant","bird"])
# array([[2, 1, 0],
#        [1, 1, 0],
#        [1, 0, 0]], dtype=int64)

#在二分类中,可以提取tn, fp, fn, tp
import numpy as np
from sklearn.metrics import confusion_matrix

y_true = np.array([1,1,0,1,1])
y_pre = np.array([1,1,0,1,1])
tn, fp, fn, tp = confusion_matrix(y_true, y_pre).ravel()
(tn, fp, fn, tp) # (1, 0, 0, 4)