如何计算细分模型的准确性?

问题描述

我使用边界框技术评估细分模型。然后我 对每个图像的TP,FP,TN和FN值求和。总图像为 10(行号在下表中)。我需要计算该模型的准确性。 精度=(TP + TN)/(TP + FP + FN + TN)

TP + FP + FN + TN )是总数。我在这里总计混淆 ...(实际预测的

问题是:在这种情况下,总数的值是多少?为什么?

imgNo TP    FP  TN  FN
   1    4   0   0   0
   2    6   1   1   0
   3    2   3   0   0
   4    1   1   1   0
   5    5   0   0   0
   6    3   1   0   0
   7    0   3   1   0
   8    1   0   0   0
   9    3   2   1   0
  10    4   1   1   0

感谢您的帮助。

解决方法

TP:“正值”是您在图像中正确识别的对象数量

FP:误报是您识别的对象,但实际上这是一个错误

TN:真负值是您无法识别的对象

FN:在物体检测情况下没有意义。也许是背景。无论如何,在您的实验中,其值为0。

因此,TP + TN =真实总数。不要包括FN,因为这是错误的检测。

,

您可以使用热图直观地分析逻辑回归中的系数。 roc_curve 返回误报和真正值。混淆矩阵返回 fp、tp、fn 和 fp 聚合。

fpr,tpr,threshholds = roc_curve(y_test,y_preds_proba_lr_df)

plt.plot([0,1],[0,'k--')
plt.plot(fpr,tpr)
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.show()

 accuracy=round(pipeline['lr'].score(X_train,y_train) * 100,2)

 print("Model Accuracy={accuracy}".format(accuracy=accuracy))

 cm=confusion_matrix(y_test,predictions)

 sns.heatmap(cm,annot=True,fmt="g")