赞
踩
准确率可以理解为预测正确的概率,其缺陷在于:当正负样本比例非常不均衡时,占比大的类别会影响准确率。如异常点检测时:99% 的都是非异常点,那我们把所有样本都视为非异常点准确率就会非常高了。
而一般来说精确率和召回率是一对矛盾的度量。为了更好的表征学习器在精确率和召回率的性能度量,引入 F1 值。
ROC曲线特性:当测试集中的正负样本分布发生变化了,ROC曲线可以保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。
Accuracy = (TP + TN) / (TP + FN + FP + TN)
定义:在所有样本中,预测正确的概率。
Precision = TP / (TP + FP)
定义:所有被预测为正的样本中实际为正的样本的概率。
什么时候更注重注重Recall而不是Precision呢?
当False Negative (FN)的成本代价很高 (后果很严重),希望尽量避免产生FN时,应该着重考虑提高Recall指标。(毕竟他叫查准率)
Recall = TP / (TP + FN)
定义:实际为正的样本中被预测为正样本的概率。
什么时候更注重注重Precision而不是Recall呢?
当False Positive (FP)的成本代价很高 (后果很严重)时,即期望尽量避免产生FP时,应该着重考虑提高Precision指标。(毕竟他叫查全率)
F1 = (2×Precision×Recall) / (Precision+Recall)
对于数据不均衡的情况可以使用查准率和查全率来作为衡量模型的指标。
如果把精确率(Precision)和召回率(Recall)之间的关系用图来表达,就是上面的PR曲线。可以发现他们俩的关系是「两难全」的关系。为了综合两者的表现,在两者之间找一个平衡点,就出现了一个 F1分数。
真正率(TPR) = 灵敏度 = TP / (TP+FN),其实也等于召回率。
假正率(FPR) = 1- 特异度 = FP / (FP+TN)
灵敏度(Sensitivity) = TP / (TP+FN)
特异度(Specificity) = TN / (FP+TN)
备注:灵敏度和特异度可以不记,记起来麻烦。
ROC曲线如下:
为了计算 ROC 曲线上的点,我们可以使用不同的分类阈值多次评估逻辑回归模型,但这样做效率非常低。幸运的是,有一种基于排序的高效算法可以为我们提供此类信息,这种算法称为曲线下面积(Area Under Curve)。
ROC 曲线越陡越好,所以理想值就是 1,一个正方形,而最差的随机判断都有 0.5,所以一般 AUC 的值是介于 0.5 到 1 之间的。
AUC 的一般判断标准:
0.50 – 0.70: 效果较低,但用于预测股票已经很不错了。
0.70 – 0.85: 效果一般。
0.85 – 0.95: 效果很好。
0.95 – 1.00: 效果非常好,但一般不太可能。
定义:将不同类别的同一个评价指标加起来求平均。
缺点:容易受到稀有类别影响。
如果就3个类别的话,公式如下:
Macro-Precision = (P1 + P2 + P3) / 3
Macro-Recall = (R1 + R2 + R3) / 3
定义:把每个类别的TP, FP, FN先相加之后,在根据二分类的公式进行计算。
Micro-Precision = (TP1 + TP2 + TP3) / (TP1 + TP2 + TP3 + FP1 + FP2 + FP3)
Micro-Recall = (TP1 + TP2 + TP3) / (TP1 + TP2 + TP3 + FP1 + FP2 + FP3)
Micro-Precision和Micro-Recall相同是因为某一类中的FP样本,一定是其他某类别的FN样本。
Micro-Precision = Micro-Recall = Micro-F1 score = Accuracy
总结:类别不平衡时,还是应该用Macro-average。
该方法考虑了类别不平衡情况,它的值更容易受到常见类(majority class)的影响。
W1 : W2 : W3 = N1 : N2 :N3
其中W代表权重,N代表该样本类别占所有类别的比例。
Weight-Precision = P1 * W1 +P2 * W2 + P3 * W3
其它指标同上。
参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。