一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

时间:2019-11-21 21:23:25 来源:98篮球网
摘要:机器学习评估指标大全所有事情都需要评估好坏,尤其是量化的评估指标。高考成绩用来评估学生的学习能力杠铃的重量用来评估肌肉的力量跑分用来评估手机的综合性能机器学习有很多评估的指标。有了...
一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(1)

机器学习评估指标大全

所有事情都需要评估好坏,尤其是量化的评估指标。

高考成绩用来评估学生的学习能力杠铃的重量用来评估肌肉的力量跑分用来评估手机的综合性能

机器学习有很多评估的指标。有了这些指标我们就横向的比较哪些模型的表现更好。我们先从整体上来看看主流的评估指标都有哪些:

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(2)

分类问题评估指标:

准确率 – Accuracy精确率(差准率)- Precision召回率(查全率)- RecallF1分数ROC曲线AUC曲线

回归问题评估指标:

MAEMSE分类问题图解

为了方便大家理解各项指标的计算方式,我们用具体的例子将分类问题进行图解,帮助大家快速理解分类中出现的各种情况。

举个例子:

我们有10张照片,5张男性、5张女性。如下图:

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(3)

有一个判断性别的机器学习模型,当我们使用它来判断「是否为男性」时,会出现4种情况。如下图:

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(4)

实际为男性,且判断为男性(正确)实际为男性,但判断为女性(错误)实际为女性,且判断为女性(正确)实际为女性,但判断为男性(错误)

这4种情况构成了经典的混淆矩阵,如下图:

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(5)

TP – True Positive:实际为男性,且判断为男性(正确)

FN – False Negative:实际为男性,但判断为女性(错误)

TN – True Negative:实际为女性,且判断为女性(正确)

FP – False Positive:实际为女性,但判断为男性(错误)

这4个名词初看起来比较晕(尤其是缩写),但是当我们把英文拆分时就很容易理解了,如下图:

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(6)

所有的评估指标都是围绕上面4种情况来计算的,所以理解上面4种情况是基础!

分类评估指标详解

下面详细介绍一下分类分为种的各种评估指标详情和计算公式:

准确率 – Accuracy

预测正确的结果占总样本的百分比,公式如下:

准确率 =(TP+TN)/(TP+TN+FP+FN)

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(7)

精确率(差准率)- Precision

所有被预测为正的样本中实际为正的样本的概率,公式如下:

精准率 =TP/(TP+FP)

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(8)

召回率(查全率)- Recall

实际为正的样本中被预测为正样本的概率,其公式如下:

召回率=TP/(TP+FN)

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(9)

F1分数

如果我们把精确率(Precision)和召回率(Recall)之间的关系用图来表达,就是下面的PR曲线:

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(10)

可以发现他们俩的关系是「两难全」的关系。为了综合两者的表现,在两者之间找一个平衡点,就出现了一个 F1分数。

F1=(2×Precision×Recall)/(Precision+Recall)

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(11)

ROC曲线、AUC曲线

ROC 和 AUC 是2个更加复杂的评估指标,下面这篇文章已经很详细的解释了,这里直接引用这篇文章的部分内容。

上面的指标说明也是出自这篇文章:《一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC》

1. 灵敏度,特异度,真正率,假正率

在正式介绍 ROC/AUC 之前,我们还要再介绍两个指标,这两个指标的选择也正是 ROC 和 AUC 可以无视样本不平衡的原因。 这两个指标分别是:灵敏度和(1- 特异度),也叫做真正率(TPR)和假正率(FPR)。

灵敏度(Sensitivity) = TP/(TP+FN)

特异度(Specificity) = TN/(FP+TN)

其实我们可以发现灵敏度和召回率是一模一样的,只是名字换了而已。由于我们比较关心正样本,所以需要查看有多少负样本被错误地预测为正样本,所以使用(1- 特异度),而不是特异度。

真正率(TPR) = 灵敏度 = TP/(TP+FN)

假正率(FPR) = 1- 特异度 = FP/(FP+TN)

下面是真正率和假正率的示意,我们发现TPR 和 FPR 分别是基于实际表现 1 和 0 出发的,也就是说它们分别在实际的正样本和负样本中来观察相关概率问题。 正因为如此,所以无论样本是否平衡,都不会被影响。还是拿之前的例子,总样本中,90% 是正样本,10% 是负样本。我们知道用准确率是有水分的,但是用 TPR 和 FPR 不一样。这里,TPR 只关注 90% 正样本中有多少是被真正覆盖的,而与那 10% 毫无关系,同理,FPR 只关注 10% 负样本中有多少是被错误覆盖的,也与那 90% 毫无关系,所以可以看出:如果我们从实际表现的各个结果角度出发,就可以避免样本不平衡的问题了,这也是为什么选用 TPR 和 FPR 作为 ROC/AUC 的指标的原因。

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(12)

或者我们也可以从另一个角度考虑:条件概率。 我们假设X为预测值,Y为真实值。那么就可以将这些指标按条件概率表示:

精准率 = P(Y=1 | X=1)

召回率 = 灵敏度 = P(X=1 | Y=1)

特异度 = P(X=0 | Y=0)

从上面三个公式看到:如果我们先以实际结果为条件(召回率,特异度),那么就只需考虑一种样本,而先以预测值为条件(精准率),那么我们需要同时考虑正样本和负样本。所以先以实际结果为条件的指标都不受样本不平衡的影响,相反以预测结果为条件的就会受到影响。

2. ROC(接受者操作特征曲线)

ROC 曲线中的主要两个指标就是真正率和假正率, 上面也解释了这么选择的好处所在。其中横坐标为假正率(FPR),纵坐标为真正率(TPR),下面就是一个标准的 ROC 曲线图。

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(13)

ROC 曲线的阈值问题

与前面的 P-R 曲线类似,ROC 曲线也是通过遍历所有阈值 来绘制整条曲线的。如果我们不断的遍历所有阈值,预测的正样本和负样本是在不断变化的,相应的在 ROC 曲线图中也会沿着曲线滑动。

如何判断 ROC 曲线的好坏?

改变阈值只是不断地改变预测的正负样本数,即 TPR 和 FPR,但是曲线本身是不会变的。那么如何判断一个模型的 ROC 曲线是好的呢?这个还是要回归到我们的目的:FPR 表示模型虚报的响应程度,而 TPR 表示模型预测响应的覆盖程度。我们所希望的当然是:虚报的越少越好,覆盖的越多越好。所以总结一下就是TPR 越高,同时 FPR 越低(即 ROC 曲线越陡),那么模型的性能就越好。 参考如下:

ROC 曲线无视样本不平衡

前面已经对 ROC 曲线为什么可以无视样本不平衡做了解释,下面我们用动态图的形式再次展示一下它是如何工作的。我们发现:无论红蓝色样本比例如何改变,ROC 曲线都没有影响。

3. AUC(曲线下的面积)

为了计算 ROC 曲线上的点,我们可以使用不同的分类阈值多次评估逻辑回归模型,但这样做效率非常低。幸运的是,有一种基于排序的高效算法可以为我们提供此类信息,这种算法称为曲线下面积(Area Under Curve)。

比较有意思的是,如果我们连接对角线,它的面积正好是 0.5。对角线的实际含义是:随机判断响应与不响应,正负样本覆盖率应该都是 50%,表示随机效果。 ROC 曲线越陡越好,所以理想值就是 1,一个正方形,而最差的随机判断都有 0.5,所以一般 AUC 的值是介于 0.5 到 1 之间的。

AUC 的一般判断标准

0.5 – 0.7: 效果较低,但用于预测股票已经很不错了

0.7 – 0.85: 效果一般

0.85 – 0.95: 效果很好

0.95 – 1: 效果非常好,但一般不太可能

AUC 的物理意义

一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等(14)

98篮球网部分内容来自互联网,本站并不制作任何视频、新闻等内容,如有异议请及时与我们联系。


返回顶部