在机器学习、推荐系统、信息检索、自然语言处理、多媒体视觉等领域,常常会用到准确率(precision)、召回率(recall)、F-measure、F1-score 来评价算法的准确性。

一、准确率和召回率(P&R)

以文本检索为例,先看下图

准确率和召回率(precision&recall)-LMLPHP

当中,黑框表示检索域,我们从中检索与目标文本相关性大的项。图中黄色部分(A+B)表示检索域中与目标文本先关性高的项,图中

A+C部分表示你的算法检索出的项。A、B、C的含义图中英文标出。

准确率:

准确率和召回率(precision&recall)-LMLPHP

召回率:

准确率和召回率(precision&recall)-LMLPHP

一般来说,准确率表示你的算法检索出来的有多少是正确的,召回率表示全部准确的条目中有多少被检索出来。

准确率和召回率的关系

通常,我们希望准确率和召回率均越高越好,但其实这两者在某些情况下是矛盾的。比方我们仅仅搜出了一个结果,此结果是正确的,求得precisin等于1。可是因为仅仅搜出一个结果,recall值反而非常低,接近于0。所以须要综合考量,以下介绍F-measure。

二、F-measure

F-measure又称F-score,其公式为:

准确率和召回率(precision&recall)-LMLPHP

当beta=1时,就是F1-score:

准确率和召回率(precision&recall)-LMLPHP

F-measure综合了precision和recall,其值越高,通常表示算法性能越好。

05-06 01:37