二分类相关评估指标(召回率、准确率,精确率,F度量,AUC和ROC)

基础定义

 

通常在机器学习的二分类领域中,对模型的结果评估是必不可少的,本文主要总结了各个评估指标,对每个指标的定义,作用进行阐述。废话到此,直接上干货。

TP:True Positive  

FP:False Positive

TN:True Negtive

FN:False Negtive

以上四个定义是基础,Positive表示对样本作出的是正的判断,T表示判断正确,F表示判断错误(Negtive类似)。

比如TP表示样本为正,我们模型也判断为正,FP则表示模型判断为正,但是判断错误,样本为负。

Accaracy,Precision,Recall,F1

 

Accuracy = (TP+TN)/(TP+FP+TN+FN)

准确率,表示在所有样本中分对(即正样本被分为正,负样本被分为负)的样本数占总样本数的比例

Precision = TP / (TP+ FP)

精确率,表示模型预测为正样本的样本中真正为正的比例

Recall = TP /(TP + FN)

召回率,表示模型准确预测为正样本的数量占所有正样本数量的比例

F1 = 2*P*R /(P+ R)

F1,是一个综合指标,是Precision和Recall的调和平均数,因为在一般情况下,Precision和Recall是两个互补关系的指标,鱼和熊掌不可兼得,顾通过F测度来综合进行评估。F1越大,分类器效果越好。

Accuracy和Precision区别

 

Accaracy和Precision作用相差不大,都是值越大,分类器效果越好,但是有前提,前提就是样本是均衡的。

如果样本严重失衡了,Accuracy不再适用,只能使用Precision,举个简单的例子。

比如二分类问题为预测癌症的发生,显然在现实世界中,癌症人数在所有人数中的占比通常只是0.5%左右,即正负样本比例为1:200左右,此时一个分类器如果使用Accuracy作为评估指标,则分类器无需花太多功夫,分类器只用把样本全部清一色预测为正常,那么Accuracy也能达到99.5%的准确率,如此高的准确率,但却毫无任何意义,无法应用到实处,泛化能力极差。

顾在样本失衡的情况下,Accuracy不再适用,通常使用Precision,同时该场景下ROC,可以用AUC。

ROC,AUC

 

ROC,AUC优点:当数据中的正负样本分布发生变化时,ROC能够保持不变,尤其在样本不均衡的应用场景中。

首先看两个定义

TPR = TP / (TP+FN)真正率,指在所有正样本中,被准确识别为正样本的比例,公式与召回率一样

FPR = FP / (TN + FP)假正率,指在所有负样本中,被错误识别为正样本的比例。又叫误报率,错误接收率。

ROC制作

以TPR为y轴,FPR为x轴,通过不断改变threshold的值,获取到一系列点(FPR,TPR),将这些点用平滑曲线连接起来即得到ROC曲线,Threshold定义为正负样本分类面的阈值,通常的二分类模型中取0.5,在绘制ROC曲线过程中,通常取测试集上各样本的概率预测分值,即predict_prob,将所有样本的概率预测分值从高到低排序,并将这些分值依次作为threshold,然后计算对应的点(FPR,TPR),比如最大的样本预测分值为0.9时,当threshold取0.9时,所有样本分值大于等于0.9的才预测为正样本,小于0.9的预测为负样本。最后加上两个threshold值1和0,分别可对应到(0,0),(1,1)两个点,将这些点连接起来即得到ROC曲线,点越多,曲线越平滑,而ROC曲线下的面积即为AUC。

ROC特点

(1)一个好的分类器应该ROC曲线应该尽量位于左上位置,当ROC为(0,0)和(1,1)两个点的直线时,分类器效果跟随机猜测效果一样;

(2)ROC曲线下方的面积作为AUC,可以用AUC作为衡量分类器好坏的标准,理想的分类器AUC为1,当AUC为0.5时,效果跟随机猜测效果一致;

(3)ROC能很好的解决正负样本分布发生变化的情况,在正负样本分布发生变化的情况下,ROC能够保持不变。
--------------------- 
作者:frogbar 
来源:CSDN 
原文:https://blog.csdn.net/frogbar/article/details/78161546 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/weixin_36670529/article/details/84302609