赞
踩
实际结果 | |||
---|---|---|---|
1 | 0 | ||
预测结果 | 1 | TP | FP |
0 | FN | TN |
TP、FP、TN、FN都是针对与预测来说的。比如T表示预测正确,P表示预测为1(阳性)。
所以以这个思路理解TP、FP、TN、FN如下
定义:
预
测
正
确
样
本
总
样
本
=
T
P
+
T
N
T
P
+
T
N
+
F
P
+
F
N
\frac{预测正确样本}{总样本}=\frac{TP+TN}{TP+TN+FP+FN}
总样本预测正确样本=TP+TN+FP+FNTP+TN
弊端:虽然准确率可以判断总的正确率,但是在样本不平衡 的情况下,并不能作为很好的指标来衡量结果。举个简单的例子,比如在一个总样本中,正样本占 90%,负样本占 10%,样本是严重不平衡的。对于这种情况,我们只需要将全部样本预测为正样本即可得到 90% 的高准确率,但实际上我们并没有很用心的分类,只是随便无脑一分而已。这就说明了:由于样本不平衡的问题,导致了得到的高准确率结果含有很大的水分。即如果样本不平衡,准确率就会失效。
精准率(Precision)又叫查准率,它是针对预测结果 而言的,它的含义是在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确。(放眼第一行,即预测为正的样本)
公式:
精
确
率
=
T
P
T
P
+
F
P
精确率=\frac{TP}{TP+FP}
精确率=TP+FPTP
总结:精准率和准确率看上去有些类似,但是完全不同的两个概念。精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。
召回率(Recall)又叫查全率,它是针对原样本而言的,它的含义是在实际为正的样本中被预测为正样本的概率.(放眼混淆矩阵第一列,即实际为正的样本)
召
回
率
=
T
P
T
P
+
F
N
召回率=\frac{TP}{TP+FN}
召回率=TP+FNTP
召回率的应用场景: 比如病理图像领域,癌症区域即为阳性区域。所以对于癌症的预测,宁可预测有,也不能预测没有。也就是宁可把真实阴性样本预测成阳性样本(即FP),也不希望把真实阳性样本预测成阴性样本(即FN)。召回率越高,代表癌症区域被预测出来的概率越高
这条曲线是根据什么变化的?为什么是这个形状的曲线? 其实这要从排序型模型说起。拿逻辑回归举例,逻辑回归的输出是一个 0 到 1 之间的概率数字,因此,如果我们想要根据这个概率判断用户好坏的话,我们就必须定义一个阈值 。通常来讲,逻辑回归的概率越大说明越接近 1,也就可以说他是坏用户的可能性更大。比如,我们定义了阈值为 0.5,即概率小于 0.5 的我们都认为是好用户,而大于 0.5 都认为是坏用户。因此,对于阈值为 0.5 的情况下,我们可以得到相应的一对查准率和查全率。
这个阈值是我们随便定义的,我们并不知道这个阈值是否符合我们的要求。 因此,为了找到一个最合适的阈值满足我们的要求,我们就必须遍历 0 到 1 之间所有的阈值,而每个阈值下都对应着一对查准率和查全率,从而我们就得到了这条曲线。
如何找到最好的阈值点呢? 首先,需要说明的是我们对于这两个指标的要求:我们希望查准率和查全率同时都非常高。 但实际上这两个指标是一对矛盾体,无法做到双高。图中明显看到,如果其中一个非常高,另一个肯定会非常低。选取合适的阈值点要根据实际需求,比如我们想要高的查全率,那么我们就会牺牲一些查准率,在保证查全率最高的情况下,查准率也不那么低。
**数学表示:**precision和recall的调和平均。
F1 分数同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡。F1 分数的公式为 = 2 *查准率*查全率 / (查准率 + 查全率)。 我们在图中看到的平衡点就是 F1 分数得来的结果。
公式:
F
1
=
2
1
P
+
1
R
(
P
≠
0
,
R
≠
0
)
F1 = \frac{2}{\frac{1}{P}+\frac{1}{R}}(P\ne0,R\ne0)
F1=P1+R12(P=0,R=0)
在正式介绍 ROC/AUC 之前,我们还要再介绍两个指标,这两个指标的选择也正是 ROC 和 AUC 可以无视样本不平衡的原因。 这两个指标分别是:灵敏度和(1-特异度),也叫做真正率(TPR)和假正率(FPR)。
灵敏度(Sensitivity) = TP/(TP+FN)
特异度(Specificity) = TN/(FP+TN)
真正率(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 的指标的原因。
或者我们也可以从另一个角度考虑:条件概率。 我们假设 X 为预测值,Y 为真实值。那么就可以将这些指标按条件概率表示:
精准率 = P(Y=1 | X=1)
召回率 = 灵敏度 = P(X=1 | Y=1)
特异度 = P(X=0 | Y=0)
从上面三个公式看到:如果我们先以实际结果为条件(召回率,特异度),那么就只需考虑一种样本,而先以预测值为条件(精准率),那么我们需要同时考虑正样本和负样本。所以先以实际结果为条件的指标都不受样本不平衡的影响,相反以预测结果为条件的就会受到影响。
TPR:灵敏度
FPR:反特异性
AUC 的一般判断标准
0.5 - 0.7: 效果较低,但用于预测股票已经很不错了
0.7 - 0.85: 效果一般
0.85 - 0.95: 效果很好
0.95 - 1: 效果非常好,但一般不太可能
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。