关于度量,有两个指标:查准率和查全率。
先来看一下官方的表达:
(看不懂也没关系,下面有例子解释的)
查准率P(precision):
查全率(召回率Recall):
TP+FP表示预测结果都为正例的个数。
TP+FP表示真实情况都为正例的个数。
也许你并不理解,让我们来看如下例子,来理解查准率和查全率。
案例:
分辨甜西瓜,商贩那里有10个西瓜,其中8个是甜的,商贩不会告诉小明,小明弟弟小天。
小明通过判断,指出了其中6个是甜的西瓜。
小明指出的6个甜西瓜中,有5个确实是甜西瓜。
小天弟弟指出3个甜西瓜,这3个西瓜确实是甜的。
小明查准率:指出6个甜西瓜,其中5个是对的,查准率为5/6。
弟弟查准率,指出3个西瓜,其中都对,查准率为3/3=1。
看查准率是否小明不如弟弟呢?
从召回率(查全率)分析:
小明查全率:8个甜西瓜,指出来5个,查全率为5/8。
弟弟查全率:8个甜西瓜,指出来3个,查全率为3/8。
从查全率看,弟弟远不如哥哥小明。
那查准率和查全率貌似对立了。
是的,一般情况了,查准率和查全率是矛盾的。
若查准率和查全率都高情况容易判断为好算法,若两个比较一个高一个低如何去判断好坏。
用P-R曲线来描述查准率和查全率。(该曲线并不是严格正确,但趋势是对的,请谨慎记忆。)
C曲线被B曲线包含,则B的性能要由于C,因为在相同查全率下,B的查准率都要大,或在相同查准率下,B的查全率大。
若像图中A和B有交点,怎么去判断AB的好坏。
我们通常用F1-score 来评判,得分大的优。
F1公式:
换一种记忆形式:
现实中,往往要根据应用场景来有倾斜的偏向查准率或查全率。
比如搜索引擎搜索“机器学习”,推荐出来的30个网页中,都是“机器学习”相关才能说是个好搜索引擎。这种情况,我们希望查准率高一些,所以我们要偏向查准率高。
若要在关口对过关市民检查时,希望尽可能的不放走任何一个逃犯,哪怕拦住检查的人很多都是好市民。这种情况,我们希望查全率高一些,所以我们要偏向查准全高。
依据偏好,给定系数,用β来度量“倾向”,β>0。
改进的F1公式:
若β>1,查全率有更大影响;若β
基于此,我们通过计算查准率和查全率,甚至F1,F1加权分可以判断一个算法是否在工程中性能更优。
-end-
持续关注,下回介绍ROC与AUC。
本文参考周志华《机器学习》
领取专属 10元无门槛券
私享最新 技术干货