根据F1计算准确性,准确性和召回力得分

时间:2019-12-26 17:21:56

标签: machine-learning deep-learning precision-recall

在培训期间,我忘了将模型和模型的预测保存在测试集中。我所拥有的只是F1,准确性和召回力得分。我想知道是否有什么方法可以仅根据F1,准确性和召回率来计算准确性?

f1 = 0.9466979550787799
precision = 0.9424328383113633
recall = 0.951001852163664

1 个答案:

答案 0 :(得分:0)

简短的答案是,您具有三个方程式和四个变量,因此,只有在您已经知道要进行预测的元素总数时,您才能这样做。要详细了解这一点,让我们将“真肯定”,“真否定”,“假肯定”和“假否定”分别记为TP, TN, FP, FN

从精度定义为TP/(TP+FP),您可以得到

FP=TP(1-precision)/precision   (1)

类似地,从召回的定义中,您将得到

FN=TP(1-recall)/recall         (2)

现在让我们将F1分数的定义用作F1=2/(precision^{-1}+recall^{-1})。通过从上方插入FNFP表达式,我们将获得以下表达式:

F1=2TP / (2TP +TP(1-recall)/recall + TP(1-prec)/prec)

您可以轻松求解此方程并获取TP的值。将其插入(1)和(2),您将到达一个知道TP, FN, FP的地步。

您仍然需要知道真实的负数TN才能计算精度(假设您按照精度的通常定义为(TP+TN)/(TP+TN+FP+FN))。

要确定TN,您需要知道元素total_n的总数:

TN=total_n - (TP+FN+FP)

一旦您知道您可以计算出准确度。