从混淆矩阵生成分类报告
Generate Classification Report from Confusion Matrix
我通过 Scikit-Learn 的 confusion_matrix(y_true, y_pred)
方法生成了一个混淆矩阵。我需要修改矩阵以删除我通过 [arr[:-1] for arr in confusion_matrix][:-1]
.
所做的最后一列和最后一行
我现在需要根据修改后的矩阵生成分类报告,但我不确定如何将修改后的矩阵转换回 y_true
和 y_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。
我通过 Scikit-Learn 的 confusion_matrix(y_true, y_pred)
方法生成了一个混淆矩阵。我需要修改矩阵以删除我通过 [arr[:-1] for arr in confusion_matrix][:-1]
.
我现在需要根据修改后的矩阵生成分类报告,但我不确定如何将修改后的矩阵转换回 y_true
和 y_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。