Machine learning 根据F1、精度和召回分数计算准确度

Machine learning 根据F1、精度和召回分数计算准确度,machine-learning,deep-learning,precision-recall,Machine Learning,Deep Learning,Precision Recall,在培训期间,我忘记了在测试集中保存模型和模型的预测。我所拥有的只是F1、精度和回忆分数。我想知道是否有任何方法,我可以计算精度仅仅从F1,精度和召回分数 f1 = 0.9466979550787799 precision = 0.9424328383113633 recall = 0.951001852163664 简单的回答是,你有三个方程,但有四个变量,所以你可以,但前提是你已经知道你预测的元素总数。为了详细了解这一点,让我们分别将真阳性、真阴性、假阳性和假阴性记为TP、TN、FP、FN

在培训期间,我忘记了在测试集中保存模型和模型的预测。我所拥有的只是F1、精度和回忆分数。我想知道是否有任何方法,我可以计算精度仅仅从F1,精度和召回分数

f1 = 0.9466979550787799
precision = 0.9424328383113633
recall = 0.951001852163664

简单的回答是,你有三个方程,但有四个变量,所以你可以,但前提是你已经知道你预测的元素总数。为了详细了解这一点,让我们分别将真阳性、真阴性、假阳性和假阴性记为
TP、TN、FP、FN

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

FP=TP(1-precision)/precision   (1)
同样,从回忆的定义来看,你会得到

FN=TP(1-recall)/recall         (2)
现在让我们使用
F1
score的定义为
F1=2/(精度^{-1}+回忆^{-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)
一旦你知道你可以计算出准确度