Hi,大家好,我是大林~
今天给大家看一篇以情感(文本)分类为例,详解TP, FP, TN,FN,precision,recall的概念,希望能帮到刚入门的小白,面试会被问。
公号:AI自然语言与知识图谱已经建立了学工大佬交流渠道,欢迎学工两路大佬光临讨教学习,关注后添加助手微信,备注NLP或者知识图谱,邀请进群
正文
我今天要非常认真的来写一些这六个概念,我们可以意识到,很多NLP任务的评价指标都涉及到了这些概念。前段时间我发表的论文用到的评价指标是宏平均和微平均,在这里,我不再介绍宏平均和微平均的具体概念,只要能理解了TP, FP,TN, FN,precision ,recall的概念,再看看宏平均和微平均的概念的差别,就会知道在论文中该如何向别人详细介绍 你的评价指标
在这里我们需要分开来看,保持耐心,跟着我的思路走哦......
我们要知道:
1、P(positive) 和 N(negative) 这两个字母是 模型的判断结果
2、 T(True) 和 F(False)这两个字母是来 评价模型判断结果是否正确
用一个情感分析的例子来剖析一下:情感分析的任务无非就是:给一句话,来判断这句话是积极还是消极, 也可看出,这是一个二分类问题。用标签0表示消极,用标签1表示积极。假设类1(积极)是正例(positive),那么类0(消极)就是负例。
联系上边情感分析的例子来理解:
P:是模型将一句话判断为正例,T:是模型将这句话判断为正例的这个结果是正确的。 所以 TP 就是模型判断这句话为正例的结果是正确的,就是模型判断对了。说明什么?说明原本就是正例,模型也判断为正例,这也叫真正例 。
同理类推:TN 就是模型将一句话判断为负例,这个结果是对的。就是模型判断对了。即,原本的数据就是负例,模型也判断为负例,这叫做真负例 。
FP 就是模型将一句话判断为正例,这个结果是错的,就是模型判断错了。即,原本的数据是负例,模型判断为正例了。这叫做假正例。
FN 就是模型将一句话判断为负例的结果是错误的。也是模型判断错了。即,原本的数据是正例,模型却判断为负例了。所以这叫做假负例。
Precision = TP / (TP + FP)
所以Precision的概念就是:真正例样本的数量占模型预测为正例的样本(被检索到的正例样本)的比例。
Recall = TP / (TP + FN)
所以Recall的概念就是:真正例样本的数量占原数据集中正例样本的数量。
要搞清楚对象 ,TP+FP是模型预测出来的正例样本(所以叫检索到,不管预测为正例样本这个结果对不对,反正结果是正例,能检索到。);TP+FN是原来数据集中的正例样本。FN就是后面检索不到的正例样本,因为这句话放入模型中,被模型预测错了,预测为负例样本了,但实际上在数据集中原本是正例。当然属于检索不到的正例样本了。同时,我好像也解释了很多人不理解的检索 和未被检索 的概念。是有针对性的,模型预测出来的正例样本是能检索到的正例样本,原本为正例样本,但让模型预测为负例样本了,就叫做检索不到的正例样本。