机器学习模型性能度量

来源:互联网 发布:万网域名注册白金词 编辑:程序博客网 时间:2024/06/05 02:28

1. 错误率和精度(拟合度,最基本的方法)

2. 混淆矩阵

这里写图片描述
查全率:P=TP/(TP+FP)(“宁可错杀一千,也不放过一个”)
查准率:R=TP/(TP+FN)

查全率和查准率是一对矛盾的度量,一般来说,查准率高时,查全率会低。以查准率(P)为纵轴,查全率(R)为横轴,可绘制出“P-R图”。
这里写图片描述

比较曲线下面积,它在一定程度上反映了查全率和查准率取得“双高”的比例。但不容易估算,因此人们设计了一些综合考虑查全率和查准率的性能度量:
(1) 平衡点(BEP,Break-Even Point),它是“查准率=查全率”时的取值。如图中A,B,C点。
(2) 由于BEP过于简化,所以更常用的还是F1度量
这里写图片描述
F1是基于查全率和查准率的调和平均定义的:
这里写图片描述
有时对查全率和查准率的要求不一样,所以需要对其进行加权(如商品推荐时为了尽量少打扰用户,查准率就重要一些。确定嫌疑人时希望少漏掉嫌疑犯,此时查全率就重要一些。),此时就需要用F_β:

这里写图片描述

F_β是加权调和平均:
这里写图片描述

其中0<β<1,查准率有更大的影响,β>1时查全率有更大的影响。
若有多个分类,则将每个分类对应的TP,FP,TN,FN进行平均,利用平均后的值再求相应的微查准率(micro-P),微查全率(micro-R),微F1(micro-F1)。

ROC和AUC

ROC(Receiver Operating Characteristic)曲线和AUC(Area Under ROC Curve)常被用来评价一个二值分类器的优劣,故名思议,AUC是ROC曲线下的面积。

ROC曲线

与P-R曲线不同的是,ROC曲线的纵轴是“真正例率”(True Positive Rate,TPR),横轴是“假正例率”(False Positive Rate,FPR)。两者的定义是:
这里写图片描述
这里写图片描述

ROC曲线上的四种特殊值:

  1. (0,1) 即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。这是一个完美的分类器

  2. (1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。

  3. (0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。

  4. (1,1),分类器实际上预测所有的样本都为正样本。

如何画AOC曲线:

对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR结果,而要得到一个曲线,我们实际上需要一系列FPR和TPR的值。

  1. 根据每个测试样本属于正样本的概率值从大到小排序。(如图有20个样本点)
    这里写图片描述

  2. 从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。每次选取一个不同的threshold,就可以得到一组FPR和TPR,即ROC曲线上的一点。
    这里写图片描述

设前一个点为(x,y),若当前为真正例,则坐标变为(x,y+1/正例数),若当前为假正例,则坐标变为(x+1/负样本数,y)。

AUC:

AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

参考文献:
ROC和AUC介绍以及如何计算AUC
周志华老师的西瓜书——《机器学习》
待续···

原创粉丝点击