从混淆矩阵生成分类报告

Generate Classification Report from Confusion Matrix

我通过 Scikit-Learn 的 confusion_matrix(y_true, y_pred) 方法生成了一个混淆矩阵。我需要修改矩阵以删除我通过 [arr[:-1] for arr in confusion_matrix][:-1].

所做的最后一列和最后一行

我现在需要根据修改后的矩阵生成分类报告,但我不确定如何将修改后的矩阵转换回 y_truey_pred。谢谢!

例如,让我们进行二分类。

from sklearn.metrics import confusion_matrix
y_true = [0,1,1,0,1,1,1]
y_pred = [0,0,0,1,1,0,1]
a = confusion_matrix(y_true, y_pred)

这将产生输出,

array([[1, 1], [3, 2]])

现在当你使用这个修改矩阵时:

[arr[:-1] for arr in a][:-1]

在删除最后一列和最后一行时,您将丢失有关最后一个标签及其相关预测的信息

这将产生这个输出,

[array([1])]

现在我们以3为例类,

from sklearn.metrics import confusion_matrix
y_true = [0,1,1,0,1,1,1,2,2,2,2,2,2]
y_pred = [0,0,0,1,1,0,1,2,0,1,2,2,2]
a = confusion_matrix(y_true, y_pred)

输出:

array([[1, 1, 0],
       [3, 2, 0],
       [1, 1, 4]])

现在修改矩阵时:

array([[1, 1],
       [3, 2]])

最后一行和最后一列包含 2 所有相关预测的详细信息,修改后丢失。

因此,无法将修改后的矩阵转换回 y_true 和 y_pred。