精确度/召回率/F1值/Micro-F1和Macro-F1的理解

如下图所示,假设有若干张图片,其中12张是狗的图片其余是猫的图片.现在利用程序去识别狗的图片,结果在识别出的8张图片中有5张是狗的图片,3张是猫的图片(属于误报).这里写图片描述


图中,实心小圆代表狗的图片,虚心小圆代表猫的图片,圆形区域代表识别结果.

则该程序的精度precision=5/8,召回率recall=5/12。

当一个搜索引擎返回30个页面时,只有20页是相关的,而没有返回40个额外的相关页面,其精确度为20/30 = 2/3,而其召回率为20/60 = 1/3。在这种情况下,精确度是“搜索结果有多大用处”,而召回是“结果如何完整”。

F1值

F1值是精确度和召回率的调和平均值:

精确度/召回率/F1值/Micro-F1和Macro-F1的理解_第1张图片
精确度和召回率都高时, F1 F1值也会高. F1 F1值在1时达到最佳值(完美的精确度和召回率),最差为0.在二元分类中, F1 F1值是测试准确度的量度。

 Micro-F1和Macro-F1

在第一个多标签分类任务中,可以对每个“类”,计算F1,显然我们需要把所有类的F1合并起来考虑。

这里有两种合并方式:

第一种计算出所有类别总的Precision和Recall,然后计算F1。

例如依照最上面的表格来计算:Precison=5/(5+4)=0.556,Recall=5/(5+4)=0.556,然后带入F1的公式求出F1,这种方式被称为Micro-F1微平均。

第二种方式是计算出每一个类的Precison和Recall后计算F1,最后将F1平均。

例如上式A类:P=2/(2+0)=1.0,R=2/(2+2)=0.5,F1=(2*1*0.5)/1+0.5=0.667。同理求出B类C类的F1,最后求平均值,这种范式叫做Macro-F1宏平均。

参考博客:

分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1)_THEAQING-CSDN博客机器学习笔记--classification_report&精确度/召回率/F1值_akadiao的博客-CSDN博客

你可能感兴趣的:(吴恩达机器学习课程笔记,机器学习)