在培训期间,我忘了将模型和模型的预测保存在测试集中。我所拥有的只是F1,准确性和召回力得分。我想知道是否有什么方法可以仅根据F1,准确性和召回率来计算准确性?
f1 = 0.9466979550787799
precision = 0.9424328383113633
recall = 0.951001852163664
答案 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})
。通过从上方插入FN
和FP
表达式,我们将获得以下表达式:
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)
一旦您知道您可以计算出准确度。