机器学习中的二分类问题评价指标之精确率、召回率、F1值通俗理解

        引言:对于分类问题,我们在评估一个模型的好坏时,通常想到的是把该模型在测试集上分类结果正确的样本数量比上测试集的样本数量的比值结果,即准确率(精确率)作为评价准则。但除此之外,还有精确率和召回率作为二分类问题的评价指标。那么什么时精确率和召回率呢,之前了解过这个概念用到时总是会忘,现在抽出时间对此进行总结。

        在了解这两个评价指标之前,我们必须要对模型预测出的结果类型进行定义,这里是对于二分类问题来讲的,在二分类问题中,我们把类别定义为正类(Positive)和负类(Negative)。需要记住四个结果类型,分别为TP,FP,TN,FN;

        TP:TP是True Positive,即预测正确的正类样本数,也就是模型在进行预测的时候,把正类预测为了正类,也就是把正类预测正确了。

        TN:TN是True Negative,即预测正确的负类样本数,也就是模型在进行预测的时候,把负类预测为了负类,也就是把负类预测正确了。

        FP:FP是False Positive,即预测错误的正类样本数,也就是模型在进行预测的时候,把负类预测为了正类,也就是把负类预测错误了,本来模型该把这个负类预测为负类的,结果却把这个负类预测为了正类。

        FN:FN是False Negative,即预测错误的负类样本数,也就是模型在进行预测的时候,把正类预测为了负类,也就是把正类预测错误了,本来模型该把这个正类预测为正类的,结果却把这个正类预测为了负类。

        无外乎,模型给出的预测结果只能是上面四种中的一种,当模型把正类样本预测为正类(TP),把负类样本预测为负类(TN),是模型预测正确的表现;当模型把正类样本预测为负类(FN),把负类样本预测为正类(FP),是模型预测错误的表现。

        有了以上概念,我们来分析一下精确率和召回率。

精确率:

        官方给出的公式为: P = \frac{TP}{TP+FP}

        分析:该公式的意思是该模型将正类预测为正类的样本数量与该模型将正类和负类均预测为正类的样本数量的比值。看起来有点绕,我们分步分析:

        分子TP是模型在预测时将正类预测为了正类的样本数;分母是TP+FP,FP是模型在预测时,将负类预测为了正类的样本数,即FP是假的正类样本数,我们想一想,如果一个模型预测能力很强,那该模型会极大可能的把正类预测为正类,负类预测为负类,而极小可能的把负类预测为正类,也就是FP的样本数应该越小越好,而FP越小,就会导致P的值越接近于1。是不是很神奇,人类太聪明了。

召回率:

        官方给出的公式为:R=\frac{TP}{TP+FN}

        分析:该公式的意思是该模型将正类预测为正类的样本数量与该模型将正类预测为正类和负类的样本数量的比值。我们依然分步分析:

        分子TP和精确率中的TP是一个含义;分母是TP+FN,FN是模型在预测时,将正类样本预测为了负类样本的样本数,即FN指的是模型应该把正类样本预测为为正类,但是却把正类样本预测为了负类样本的数量;那我们想一想,如果一个模型的预测能力很强,那该模型应该极大可能的把正类预测为正类,而很小可能把正类预测为负类,也就是FN越小越好,FN越小,表示该模型有更大的把握把正类预测为正类,那么FN越小,就会导致R的值越接近于1。

        总结,在分析完精确率和召回率的公式之后,我们知道了P和R的值当然是越接近于1,表明模型的预测能力越好。上面我说到的预测能力很强是用来表达模型的预测能力很优秀。

问题:那在评价模型的时候,我是应该以P为评价指标基准,还是以R为评价指标基准呢?

答:这里就引入了F1值,它是精确率P和召回率R的调和均值。

F1值:

        公式为:\frac{2}{F_{1}} = \frac{1}{P}+\frac{1}{R},对该公式进行通分,将F1放到一边,并将P、R带入,求出公式为:

                                         F_{1} = \frac{2TP}{2TP+FP+FN}

        分析:对于该公式,分子TP是该模型将正类预测为正类的样本数量,分母中的FP是该模型将负类预测为了正类,FN是该模型将正类预测为了负类;相应的,如果模型的预测能力很强,那么就应该很少可能的将负类预测为了正类,即FP应该越小越好,而根据精确率的公式,FP越小,P就越大;并且模型应该很少可能的将正类预测为了负类,即FN应该越小越好,而根据召回率的公式,FN越小,R就越大;而根据F1的公式来看,FP和FN越小,则F1越接近于1。

        得出结论:精确率P和召回率R的值越大,F1的值也会越大,这里的越大指的是越接近于1,P、R、F1的值最大也就是1了。

        总结不易,希望给个赞支持一下,转载请注明链接哈,如果有总结不到位或表达不恰当之处,欢迎批评指正。

你可能感兴趣的:(机器学习,机器学习,分类,算法)