如何计算分割模型的准确性?
how to calculate accuracy in segmentation model?
我使用边界框技术评估分割模型。然后我
将每个图像的 TP、FP、TN 和 FN 的值相加。总图像是
10(下面的行号 table)。我需要计算这个模型的准确性。
accuracy = (TP+TN)/(TP+FP+FN+TN)
的方程
(TP+FP+FN+TN)为总数。我混淆这里的总数...(实际和预测
问题是:在这种情况下,Total Number 的值是多少?为什么?
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 : True Positive 是您在图像中正确识别的对象数。
FP : 误报是您识别的对象,但实际上这是一个错误,因为 ground-truth.
中没有这样的对象
TN : True Negative 是指算法无法识别任何对象,ground-truth 确实属于这种情况。即正确的否定识别。
FN : 假阴性是指您的算法无法识别对象(即地面实况包含图像中的对象,但它被您的算法标记为背景).换句话说,您错过了识别对象的机会。
在你的实验中它无论如何都是 0。
因此,TP+TN = 真正的总案例数。不要包括 FN,因为那是错误的检测。
您可以使用热图直观地分析逻辑回归的系数。 roc_curve returns 假阳性和真阳性值。混淆矩阵 returns fp、tp、fn 和 fp 聚合。
fpr, tpr, threshholds = roc_curve(y_test,y_preds_proba_lr_df)
plt.plot([0, 1], [0, 1], '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")
我使用边界框技术评估分割模型。然后我 将每个图像的 TP、FP、TN 和 FN 的值相加。总图像是 10(下面的行号 table)。我需要计算这个模型的准确性。 accuracy = (TP+TN)/(TP+FP+FN+TN)
的方程(TP+FP+FN+TN)为总数。我混淆这里的总数...(实际和预测
问题是:在这种情况下,Total Number 的值是多少?为什么?
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 : True Positive 是您在图像中正确识别的对象数。
FP : 误报是您识别的对象,但实际上这是一个错误,因为 ground-truth.
中没有这样的对象TN : True Negative 是指算法无法识别任何对象,ground-truth 确实属于这种情况。即正确的否定识别。
FN : 假阴性是指您的算法无法识别对象(即地面实况包含图像中的对象,但它被您的算法标记为背景).换句话说,您错过了识别对象的机会。 在你的实验中它无论如何都是 0。
因此,TP+TN = 真正的总案例数。不要包括 FN,因为那是错误的检测。
您可以使用热图直观地分析逻辑回归的系数。 roc_curve returns 假阳性和真阳性值。混淆矩阵 returns fp、tp、fn 和 fp 聚合。
fpr, tpr, threshholds = roc_curve(y_test,y_preds_proba_lr_df)
plt.plot([0, 1], [0, 1], '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")