Precision(准确率)和Recall(召回率)介绍

   为什么我们需要Precision(准确率)和Recall(召回率)?

        首先我们仅仅只看loss的话,会出现什么问题。

        举个例子:比如对于一个二分类的模型,我们通过训练得到最终loss仅为5%,也就是准确率达到了95%,这很明显我们认为这是一个比较优秀的模型。

        但是,如果我们的训练数据,仅有3%的数据对应标签为0,也就是负样本,其余均为正样本,对应标签为1.

        这样会发生什么?如果我们的网络只能输出1,无论输入是什么,都只能输出1,这样的模型的准确率为97%,那么这样的模型是更好的模型么?显然不是。

        所以,这时候就需要用到precision和recall了

precision和reall

        

Precision(准确率)和Recall(召回率)介绍_第1张图片

 precision= TP / (TP + FP)

recall= TP / (TP + FN)

        很多人疑惑,这两个公式到底是什么意思?

        precision即为预测为正确的数据中,真实值为正确的比例,而recall即为在所有的真实值为正确的数据中,有多少能预测正确。

        很难理解,那我举一个癌症的例子,现在有一批人,其中有一些人得了癌症,一些人没有得癌症。

        对于precision来说,我只有有很大的把握得时候,我才会说你得癌症,意思是,只要我说你得癌症,你基本上就是得了癌症。

        对于recll来说,在这一批人当中,我基本能找到所有得癌症的人,意思是,得癌症的人一定在我说得癌症的人当中。

        具体一点,现在有300个人,100个得癌症,我现在预测出只有10个人得癌症,那我的precision一定非常高,如果我现在预测出300个人得癌症,那我的recall一定非常高。

        但是两者都不是我们想要的,所以我们需要权衡两者,才能找到最优秀得网络模型

对recall和precision仍有疑问,可继续在评论区留言

如果错误,欢迎大家及时指正!!!

 

        

你可能感兴趣的:(机器学习,人工智能,html5)