跳转到主要内容

【深度学习】Precision 和 Recall 评价指标理解

demi 提交于

<font size="3" style="line-height: 45px;" color="#c200ff"><strong>1. 四种情况</strong></font>

Precision精确率, Recall召回率,是二分类问题常用的评价指标。

混淆矩阵如下:

T和F代表True和False,是形容词,代表预测是否正确。

P和N代表Positive和Negative,是预测结果。

<table border="1">
<tr>
<td>&nbsp; </td><td style="padding:10px;">预测结果为阳性 Positive</td><td style="padding:10px;">预测结果为假阳性 Negative</td>
</tr>
<tr>
<td style="padding:10px;">预测结果正确True</td><td style="padding:10px;">TP</td><td style="padding:10px;">TN</td>
</tr>
<tr>
<td style="padding:10px;">预测结果错误 False</td><td style="padding:10px;">FP</td><td style="padding:10px;">FN</td>
</tr>
</table>

通常关注的类为正类,其他类为负类。(以猫狗二分类为例,现在关注狗的precision和recall)

<table border="1">
<tr>
<td style="padding:10px;">TP</td><td>正类预测为正类(预测出狗的图片实际标注也是狗)</td>
</tr>
<tr>
<td style="padding:10px;">FN</td><td>正类预测为负类(预测出猫的图片实际标注是狗)</td>
</tr>
<tr>
<td style="padding:10px;">FP</td><td>负类预测为正类(预测出狗的图片实际标注是猫)</td>
</tr>
<tr>
<td style="padding:10px;">TN</td><td>负类预测为负类(预测出猫的图片实际标注是猫)</td>
</tr>
</table>

T, F 代表的是图片对应的标签,说明是否正确。
P, N 代表的模型预测出来的结果是对的还是错的。

<font size="3" style="line-height: 45px;" color="#c200ff"><strong>2. Precision</strong></font>

精确率计算公式:

<center><img src="http://imgtec.eetrend.com/files/2021-04/%E5%8D%9A%E5%AE%A2/100092313-18…; alt=""></center><br>

理解:

TP+FP: 也就是全体Positive, 也就是预测的图片中是正类的图片的数目

TP: 也就是正类也被预测为正类的图片的个数

总之:预测正确的图片个数占总的正类预测个数的比例(从预测结果角度看,有多少预测是准确的)

<font size="3" style="line-height: 45px;" color="#c200ff"><strong>3. Recall</strong></font>

召回率计算公式:

<center><img src="http://imgtec.eetrend.com/files/2021-04/%E5%8D%9A%E5%AE%A2/100092313-18…; alt=""></center><br>

理解:
TP+FN: 也就是全体完全满足图片标注的图片的个数
TP:正类被预测为正类的图片个数

总之:确定了正类被预测为正类图片占所有标注图片的个数(从标注角度看,有多少被召回)

<font size="3" style="line-height: 45px;" color="#c200ff"><strong>4. 二分类举例</strong></font>

还是以猫狗二分类为例,测试集一共有20张狗, 20张猫的图片的标注图片(狗为正例),模型预测出其中有16张图片是狗,其中14张图片标注确实为狗,剩下两张图片标注为猫。

对于猫来说,剩下的24张图片是猫,其中有6张是狗,18张是猫。

<table border="1">
<tr>
<td>&nbsp; </td><td style="padding:10px;">Positive</td><td style="padding:10px;">Negative</td><td style="padding:10px;">All</td>
</tr>
<tr>
<td style="padding:10px;">True</td><td style="padding:10px;">TP: 14</td><td style="padding:10px;">TN: 18</td><td style="padding:10px;">32</td>
</tr>
<tr>
<td style="padding:10px;">False</td><td style="padding:10px;">FP: 2</td><td style="padding:10px;">FN: 6</td><td style="padding:10px;">8</td>
</tr>
<tr>
<td style="padding:10px;">All</td><td style="padding:10px;">16</td><td style="padding:10px;">24</td><td style="padding:10px;">40</td>
</tr>
</table>

所以可以进行计算了

<center><img src="http://imgtec.eetrend.com/files/2021-04/%E5%8D%9A%E5%AE%A2/100092313-18…; alt=""></center><br>

5. 多分类举例

该例引用自:https://www.itcodemonkey.com/article/9521.html

<table border="1">
<tr>
<td style="padding:10px;">Class1</td><td style="padding:10px;">Actual_Class1</td><td style="padding:10px;">Actual_Class2</td><td style="padding:10px;">Actual_Class3</td>
</tr>
<tr>
<td style="padding:10px;">Predicted_Class1</td><td style="padding:10px;">30</td><td style="padding:10px;">20</td><td style="padding:10px;">10</td>
</tr>
<tr>
<td style="padding:10px;">Predicted_Class2</td><td style="padding:10px;">50</td><td style="padding:10px;">60</td><td style="padding:10px;">10</td>
</tr>
<tr>
<td style="padding:10px;">Predicted_Class3</td><td style="padding:10px;">20</td><td style="padding:10px;">20</td><td style="padding:10px;">80</td>
</tr>
</table>

6. 其他指标

F1 值是precision和recall调和平均值:

<center><img src="http://imgtec.eetrend.com/files/2021-04/%E5%8D%9A%E5%AE%A2/100092313-18…; alt=""></center><br>

<font color="#9a9a9a">作者:pprp
本文转自:<u>博客园 - pprp</u>,转载此文目的在于传递更多信息,版权归原作者所有。</font>
原文:https://www.cnblogs.com/pprp/p/11241954.html