sklearn.metrics.confusion_matrix—计算混淆矩阵来评估分类的准确性
在分类模型的性能评估指标总结中,已讲过混淆矩阵形式,接下来将介绍如何通过sklearn库中的confusion_matrix函数快速获得混淆矩阵。
语法格式
sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=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)