试图找到 FP、FN、TP、TN,但我遇到了一些错误
Trying to find FP,FN,TP,TN but i'm having some errors
我正在尝试查找 FP、FN、TP、TN 值,但出现此错误:
AttributeError: 'function' object has no attribute 'sum'
这是我的代码部分:
FP = confusion_matrix.sum(axis=0) - np.diag(confusion_matrix) <-- Error in this line
FN = confusion_matrix.sum(axis=1) - np.diag(confusion_matrix)
TP = np.diag(confusion_matrix)
TN = confusion_matrix.sum() - (FP + FN + TP)
TPR = TP/(TP+FN)
TNR = TN/(TN+FP)
PPV = TP/(TP+FP)
NPV = TN/(TN+FN)
FPR = FP/(FP+TN)
FNR = FN/(TP+FN)
FDR = FP/(TP+FP)
ACC = (TP+TN)/(TP+FP+FN+TN)
您收到此错误是因为 confusion_matrix
是一个函数,而您正试图对其调用 sum
函数。
如果您使用 scikit-learn 中的 confusion_matrix
,在简单的二进制情况下,您可以像这样获得 FP、FN、TP 和 TN:
tn, fp, fn, tp = confusion_matrix([0, 1, 0, 1], [1, 1, 1, 0]).ravel()
否则,在计算正值和负值之前,您需要在实际和预测的 y 上调用它。
cm = confusion_matrix(y_true, y_pred)
# compute FP, FN, TP, & TN here on cm
我正在尝试查找 FP、FN、TP、TN 值,但出现此错误:
AttributeError: 'function' object has no attribute 'sum'
这是我的代码部分:
FP = confusion_matrix.sum(axis=0) - np.diag(confusion_matrix) <-- Error in this line
FN = confusion_matrix.sum(axis=1) - np.diag(confusion_matrix)
TP = np.diag(confusion_matrix)
TN = confusion_matrix.sum() - (FP + FN + TP)
TPR = TP/(TP+FN)
TNR = TN/(TN+FP)
PPV = TP/(TP+FP)
NPV = TN/(TN+FN)
FPR = FP/(FP+TN)
FNR = FN/(TP+FN)
FDR = FP/(TP+FP)
ACC = (TP+TN)/(TP+FP+FN+TN)
您收到此错误是因为 confusion_matrix
是一个函数,而您正试图对其调用 sum
函数。
如果您使用 scikit-learn 中的 confusion_matrix
,在简单的二进制情况下,您可以像这样获得 FP、FN、TP 和 TN:
tn, fp, fn, tp = confusion_matrix([0, 1, 0, 1], [1, 1, 1, 0]).ravel()
否则,在计算正值和负值之前,您需要在实际和预测的 y 上调用它。
cm = confusion_matrix(y_true, y_pred)
# compute FP, FN, TP, & TN here on cm