当前位置:   article > 正文

机器学习评价指标合辑(TP/FP/FN/TN/Precision/Recall/F1score/P-R曲线/ROC曲线/AUC)_fp等于0.9

fp等于0.9

我们训练模型时需要用到各种评价指标,网上很多人的总结要么太凌乱,甚至还有错误,总结一下各种常用的评价指标,以备使用时查阅,如有错误欢迎指出。

1.分类准确率

分类正确的样本占总样本个数的比例。

Accuracy=\frac{n_{correct}}{n_{total}}

2.TP/FP/FN/TN

1)True positive(TP): 真正例,将正类正确预测为正类数;

2)False positive(FP): 假正例,将负类错误预测为正类数;

3)False negative(FN):假负例,将正类错误预测为负类数;

4)True negative(TN): 真负例,将负类正确预测为负类数。

注:后面的P/N代表预测值,如果预测值与真实值一样,则是真x例,反之是假x例。

3.Precision/Recall/F1score

1)Precision(精确率):分类正确的正样本个数占分类器判定为正样本的样本个数的比例

分类正确的正样本个数:即真正例(TP)。

分类器判定为正样本的个数:包括真正例(TP)和假正例(FP)

Precision=\frac{TP}{TP+FP}

2)Recall(召回率):分类正确的正样本个数占真正的正样本个数的比例。

分类正确的正样本个数:即真正例(TP)。

真正的正样本个数:包括真正例(TP)和假负例(FN)

Recall=\frac{TP}{TP+FN}

3)F1​-score:精确率和召回率的调和均值。

Recall=\frac{TP}{TP+FN}

{F_1}=\frac{2TP}{2TP+FP+FN}

4)F score

F_1 score的通用形式,F_1 score认为precision和recall同等重要;

\beta>1,Recall更重要;

\beta<1,Precision更重要。

{F_\beta}=(1+\beta^2)\frac{P*R}{(\beta^2*P)+R}

4.P-R曲线及其绘制

Precision-Recall曲线,简称P-R曲线,其横轴是召回率,纵轴是精确率。

下面举例说明其绘制方法。

在机器学习中分类器往往输出的不是类别标号,而是属于某个类别的概率值,根据分类器的预测结果从大到小对样例进行排序,逐个把样例加入正例进行预测,算出此时的P、R值。

如上图: 真实情况正例反例各有10个。 先用分数score=0.9作为阈值(大于等于0.9为正例,小于0.9为反例),此时TP=1,FP=0,FN=9,故根据Precision/Recall公式,P=1,R=0.1。 用0.8作为阈值,P=1,R=0.2。 用0.7作为阈值,P=0.67,R=0.2。 用0.6作为阈值,P=0.75,R=0.3。 以此类推。。。 最后得到一系列P、R值序列,就画出P-R曲线(如下图,不对应上面数据)。

即P-R曲线是通过将阈值从高到低移动而生成。

P-R曲线上一个点的含义是,在该阈值下,模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本,此时返回结果对应的召回率和精确率。

P-R 曲线越靠近右上角性能越好。

F1​score综合考虑了P值和R值。

5.ROC曲线及其绘制/AUC及其计算/FPR/TPR

ROC曲线用FPR(假正例率)作横轴,用TPR(真正例率)作纵轴

FPR:真实负样本被判定为正例的数量 占 全部真实负样本数量 的比例

{FPR}=\frac{FP}{TN+FP}

TPR:真实正样本被判定为正例的数量 占 全部真实正样本数量 的比例

{TPR}=\frac{TP}{TP+FN}

同样用上面的数据, 用0.9作为阈值,此时TP=1,FP=0,FN=9,TN=10,故TPR=0.1,FPR=0。 用0.8作为阈值,此时TP=2,FP=0,FN=8,TN=10,故TPR=0.2,FPR=0。 用0.7作为阈值,此时TP=2,FP=1,FN=8,TN=9,故TPR=0.2,FPR=0.1。 用0.6作为阈值,此时TP=3,FP=1,FN=7,TN=9,故TPR=0.3,FPR=0.1。 以此类推。。。

最后的ROC曲线如下图:

AUC的值就是ROC曲线下方围成区域的面积大小。

计算AUC的值只需要沿着ROC横轴做积分即可。

AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。

6.ROC和P-R曲线比较

P-R曲线和ROC曲线都能评价分类器的性能。如果分类器a的PR曲线或ROC曲线包围了分类器b对应的曲线,那么分类器a的性能好于分类器b的性能。

PR曲线和ROC曲线有什么联系和不同: 相同点: 首先从定义上PR曲线的R值是等于ROC曲线中的TPR值。 都是用来评价分类器的性能的。 不同点: ROC曲线是单调的而PR曲线不是(根据它能更方便调参),可以用AUC的值得大小来评价分类器的好坏(是否可以用PR曲线围成面积大小来评价呢?)。 正负样本的分布不平衡时,ROC曲线形状基本保持不变,而PR曲线一般会产生剧烈的变化。

下图(a)和(b)分别是正反例相等的时候的ROC曲线和PR曲线, (c)和(d)分别是十倍反例一倍正例的ROC曲线和PR曲线 。 可以看出,在正负失衡的情况下,从ROC曲线看分类器的表现仍然较好(图c),然而从P-R曲线来看,分类器就表现的很差。 事实情况是分类器确实表现的不好,是ROC曲线欺骗了我们。

附知乎大佬@qian lvROC和P-R曲线在不平衡时的分析

7.参考资料

《百面机器学习》诸葛越

《统计学习方法》李航

《机器学习》周志华

PR曲线和F1、ROC曲线和AUC

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/978263
推荐阅读
相关标签
  

闽ICP备14008679号