为什么F1值可以用作为衡量类别不平衡任务的重要指标?

F1值计算公式:

Acc = \frac{TP +TN}{TP+TN+FP+FN}

Precision=\frac{TP}{TP+FP} = \frac{1}{1+\frac{FP}{TP}}

 Recall=\frac{TP}{TP+FN}=\frac{1}{1+\frac{FN}{TP}}

Recall的分母(TP + FN)可以理解为:真实样本标签中正例的数量;

F1=\frac{2*Precision*Recall}{Precision+Recall}=\frac{2}{\frac{1}{Precision}+\frac{1}{Recall}} 

F1值与TP、FP、FN有关,其中TP、FP、FN表示的含义:

TP 模型预测该条数据标签为正例,且该条数据的真实标签也为正例;
FP 模型预测该条数据标签为正例,但该条数据的真实标签为负例;
FN 模型预测该条数据标签为负例,但该条数据的真实标签为正例;

        F1值越大,需要Precision与Recall两个越大;Precision值越大,需要\frac{FP}{TP}值越小;Recall值越大需要\frac{FN}{TP}越小,也就是需要TP值大,FP和FN值小

        先看\frac{FN}{TP}这个数值,从上述表格TP和FN的描述可以知道,两者是相关的,FN值小意味着模型可以预测出更多的真正例,是的TP的值变大,表明Recall值关注了模型预测真正例数据的情况;接下来看\frac{FP}{TP}这个数值,FP越小意味着模型预测的假正例数据少了,假正例数据少了就意味着模型可以预测出更多的真负例数据,所以Precision值关注了模型预测真负例数据的情况。通过这些分析,我们可以看到,F1值关注了模型预测正例数据和负例数据的情况,要想F1值变大,那么需要正例数据和负例数据都尽量的预测正确。因此F1值可以作为衡量类别不平衡的重要指标。

        下面我们从另一个角度来理解,从Precision和Recall不做任何变换的公式出发。

Precision的分母(TP + FP)可以理解为:模型预测的正例数据的数量;Precision值要想变大,需要分母变小,分母变小就需要假正例(FP)的值变小,意味着需要模型能够正确将真实标签为负例的数据预测为负例,这表明Precision关注模型预测真负例数据的情况。

Recall的分母(TP + FN)可以理解为:真实样本标签中正例的数量,该值是一个固定的值,Recall值要想变大,需要TP变大,TP变大意味着需要模型能够正确将真实标签为正例的数据尽可能多的预测出来,这表明Recall关注模型预测真正例数据的情况。

多分类任务中的F1值怎么计算?参考这篇文章:多分类任务中的F1值计算

猜你喜欢

转载自blog.csdn.net/qq_43775680/article/details/131438402