机器学习分类和回归任务中的模型评估
一、性能度量概念
对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评估标准,这就是性能度量。
在预测任务中,给定样例集,其中 是示例 的真实标记。要评估机器学习 的性能,就要把学习器预测结果 与真实标记 进行比较。
二、回归任务性能度量
回归任务最常用的性能度量是“均方误差”(mean squared error)
更一般的。对于数据分布 和概率密度函数,均方误差可描述为
三、分类任务性能度量
以二分类为例,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情况,令 TP、FP、TN、FN分别表示其对应的样例数,显然有 TP+FP+TN+FN=样例总数。分类结果的“混淆矩阵”如下所示
1、准确率
2、精确率(查准率)
3、召回率(查全率)
查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。
4、P-R 曲线
以查准率(P)为纵轴,查全率(R)为横轴,可绘制出“P-R图”
若一个学习器的P-R曲线被另一个学习器的P-R曲线完全“包住”,则可认为后者的性能优于前者。如图中学习器A的性能优于学习器C。
如果两个学习器的P-R曲线发生了交叉,例如图中的A和B,则难以一般情况来判断,此时可以比较P-R曲线下面积的大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例,但这个值比较难计算。对此,人们设计了如下综合考虑查准率、查全率的性能度量:
(1)、平衡点(Break-Even Point,简称BEM)
“平衡点” 是 “查准率=查全率” 时的取值,如上图中学习器A、B、C的BEM分别大概为0.8、0.71、0.63,而基于BEM的比较,可认为学习器A优于B。
(2)、F1度量
由于 “平衡点” 的判别方式过于简化,因此我们更常用的是F1度量,F1度量是基于查准率和查全率的调和平均定义的:
有时对查全率和查准率的要求不一样,所以需要对其进行加权(如商品推荐时为了尽量少打扰用户,查准率就重要一些。确定嫌疑人时希望少漏掉嫌疑犯,此时查全率就重要一些。),此时就需要用:
则是加权调和平均:
与算术平均和几何平均相比,调和平均更重视较小值。
其中 度量了查全率对查准率的相对重要性, 时退化为标准的F1; 时查全率有更大影响; 时查准率有更大影响。
5、ROC和AUC
ROC 全称是“受试者工作特征”(ROC, Receiver Operating Characteristic),根据学习器的预测结果,对样本依概率从高到低进行进行排序,然后按照顺序逐个把样本作为正例进行预测,计算出此时的TPR(真正例率,True Positive Rate)作为纵坐标,FPR(假正例率,False Positive Rate)作为横坐标,画出的曲线就是ROC曲线。
ROC曲线上的四种特殊值:
-
(0,1) 即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。这是一个完美的分类器
-
(1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。
-
(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。
-
(1,1),分类器实际上预测所有的样本都为正样本。
通过上述定义可知,AUC是通过对ROC曲线下各部分面积求和而得,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5~1之间。
使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。
假定ROC曲线是由坐标为的点按序连接而形成,参照上图(2),则AUC可估算为
其它参考
https://blog.****.net/YE1215172385/article/details/79443552 代码
https://blog.****.net/shareviews/article/details/82848689
https://blog.****.net/appleyuchi/article/details/96192304 详细