Press "Enter" to skip to content

搞懂机器学习的常用评价指标!

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

作者:陈安东,湖南大学,Datawhale成员

 

我与评价指标的首次交锋是第一次实习面试时,面试官开头就问分类任务的评价指标。我当时TP,FP,FN,TN各种组合一顿上,回答得乱七八糟。后来经历多了,发现评价指标的确是面试的高频考点。

 

这次让我们几分钟时间搞懂评价指标,尤其是 较难理解的ROC、AUC、精确率、 ,为之后的数据科学之路打下基础。

 

分类任务

 

TP,TN,FN,FP

 

这是个 很直觉 的分类,T在开头说明这个是完全正确的。F开头就说明是完全错误的。

 

真正例(True Positive,  TP ):被模型预测为正的正样本;

 

假正例(False Positive,  FP ):被模型预测为正的负样本;

 

假负例(False Negative,  FN ):被模型预测为负的正样本;

 

真负例(True Negative,  TN ):被模型预测为负的负样本;

 

ACC精确度

 

在精确度中,ACC是最直觉的一种方式:

这里是将所有的预算结果与预测正确的做比率,得到的结果。但同时,这个评价指标很容易受到样本数量以及样本是否均衡带来的影响。

 

Precision精确率

 

对于精确率来说,关注点在于,对于所有预测为正的数据中(有预测正确的,也有预测错误的)。其中预测正确的比率:

 

FP是假预测,TP是真的预测

 

召回率Recall

 

这里还是关注于正样本。在样本中的所有真正的正样本里,有多少比率是预测对了,如同下图:

同样都是关注正样本,怎幺区分精确度和召回度?

 

这的确是很容易混淆的两个概念,试想一个场景来区分:有一批零件,通过我们做出的机器学习算法,筛选出了一批需要的零件。其中,这批筛选出的零件中,我们的注意力只关注筛选结果为正的部分(只关注,其他结果压根不看),那这样筛选的零件就包含TP+FP。要看看这个被筛选的零件中有多少是需要的,那幺这里的评价指标就是精确度Precision=(TP)/(TP+FP)

 

那什幺是召回呢?召回的意思就是说,我们还是想要好的零件。虽然机器学习已经筛选出来了好的零件,但是理论上还是有一部分好的设备被遗漏了。我们需要默默的将遗漏的好设备捡回来(毕竟花了钱了,不能浪费),这个行为叫做召回,那幺我们需要用到召回率Rcall=(TP)/(TP+FN)

 

P-R曲线

 

若一个学习器A的P-R曲线被另一个学习器B的P-R曲线完全包住,则称:B的性能优于A。若A和B的曲线发生了交叉,则谁的曲线下的面积大,谁的性能更优。但一般来说,曲线下的面积是很难进行估算的,所以衍生出了“平衡点”(Break-Event Point,简称BEP),即当P=R时的取值,平衡点的取值越高,性能更优。

 

这里可以知道的是,P(精确率)与R(召回率)是此消彼长的,也就是说,一个高一个就会低。所有对于一个综合的评价指标来说,可以很直觉的想到,将两个参数做加权调和平均数。这样就成为了F1。

 

F1

 

F1就是精确率和召回率的加权调和平均数。

 

特别的,当β=1的时候就是F1:

ROC

 

优点:在测试样本中正负样本分布不一样的,ROC曲线可以保持不变。

 

ROC这个优势的来自于 灵敏度和特异度 这两个评价标准

 

灵敏度(TPR):其实本质上是正样本召回率

 

特异度(TNR):本质上是负样本的召回率

 

计算ROC除了上面两个指标外,还有假负率和假正率。但是这两个指标的计算很简单。假负率 = (1-灵敏度);假正率=(1-特异度)

 

其实可以这样理解,如果一个验证的数据是不均衡的,那幺这个在分类的时候,准确率会考虑到不均衡的所有数据。但是如果是灵敏度和特异度,它只会考虑到正例或者负例,不考虑整体的数据分布。

 

那幺回到ROC曲线,这个ROC曲线的两个指标分别为灵敏度和假正率,效果如图:

两个模型用这个指标做评价的时候,如果一个模型A可以包裹住另一个模型B,那幺这个模型A就优于模型B。如果A和B两个模型有交叉,那幺这个就看它们曲线下的面积大了,面积大的模型性能更优。

 

AUC

 

AUC说白了就是ROC曲线下面的面积大小。AUC越大,说明ROC曲线下面的面积越大,则这个模型的性能更好。一般来说,AUC的值介于0.5到1之间。因为0.5说明,二分类模型随机猜测,有一半的几率猜中。

 

回归任务

 

回归任务不同于分类任务。它是带入输入之后,返回一个value。其中回归任务的评价指标衡量的是,模型预测数值和标签提供数值之间的差距。其中对于评价指标的优劣其实并不好评价,这里只列出常用的指标。

 

MAE(Mean Absolute Error)平均绝对误差

对差值的绝对值求平均。

 

MSE(Mean Squared Error)均方误差

是对误差平方的期望。

 

RMSE(Root Mean Squared Error)均方误差根

对MSE指标求平方根。

 

结尾

 

评价指标学习完毕啦。对于比较难理解的ROC、AUC、精确率、召回率,文中都列举了场景,希望可以帮助到大家。其实搞懂核心概念,之后都是它的衍生。

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注