基础定义
通常在机器学习的二分类领域中,对模型的结果评估是必不可少的,本文主要总结了各个评估指标,对每个指标的定义,作用进行阐述。废话到此,直接上干货。
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
版权声明:本文为博主原创文章,转载请附上博文链接!