机器学习 评价指标-召回率(Recall) 精确率(Precision)准确率(Accuracy)ROC曲线和AUC值

召回率(Recall) 精确率(Precision)准确率(Accuracy)ROC曲线和AUC值 是机器学习中常用的评价指标,下面用具体的事例来一一介绍每个指标的具体含义。

假设某个班级有男生80人,女生20人,共100人。目标是找出所有的女生
现在有人挑选出了50个人,其中20个是女生,另外还错误的把30个男生也当作女生挑选了出来。

下面根据一个图给大家说几个概念。
在这里插入图片描述
TP(True Positive):TP值是将正例判定为正例 这里 TP = 20 将女生判定为女生

FP(False Positive):FP值是将负例判定为正例 这里 FP = 30 将男生判定为女生

FN(False Negative):FN值是将正例判定为负例 这里 FN=0 将女生判定为男生

TN(True Negative):TN值是将负判定为负例 这里 TN = 50 将男生判定为男生

-准确率(Accuracy)

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

意思是所有预测结果的准确率 。这里是20+50/20+30+0+50 =0.7

-召回率(Recall)

Recall = TP/ (TP+FN)

即为实际为女生的人中,预测为女生的人占比。 这里是20/20+0 =1
即认为预测结果很好 ,能将需要预测的女生都预测出来。

-精确率(Precision)

Precision = TP/ (TP+FP)

这里是20/20+30
意思是在你预测的50个是女生的人中,真正女生的个数只有20个。

扫描二维码关注公众号,回复: 3669140 查看本文章

一般情况下,要分辨一个模型是好坏 ,需要结合召回率(Recall)和精确率(Precision)两个值,当两个值都高的时候,我们说这个模型很好,但实际情况都是一个高一个低。所以我们有另一个判别标准 ,F1-score 结合了Precision和Recall。

-F1得分值(F1-score)

F1-score= 2TP/(2TP + FP + FN)

当F1 -score的值越高,我们说这个模型效果越好。

-ROC曲线

接着来说ROC曲线 ,我们可以根据两个指标形成坐标轴
纵坐标为TPR(True positive rate)
横坐标为FPR(False positive rate)

TPR(True positive rate)=TP/ (TP+FN) 也就是召回率
FPR(False positive rate)=FP/(FP+TN) 即为实际是男生,被判定为女生的占比,这里FPR = 3/8

我们以FPR为横轴,TPR为纵轴,得到如下ROC空间:
在这里插入图片描述

我们可以看出:左上角的点(TPR=1,FPR=0),为完美分类,也就是这个模型很好,判定全对;点A(TPR>FPR),模型的判定大体是正确的。中线上的点B(TPR=FPR),也就是模型是蒙的,蒙对一半,蒙错一半;下半平面的点C(TPR<FPR),这个模型很差,预测的大多是错的。

而ROC曲线就是基于这样两个指标画出的曲线。
如图黑粗线就是一条ROC曲线,曲线越靠近左上角模型分类效果越好。
在这里插入图片描述

-AUC值

AUC值为ROC曲线所覆盖的区域面积,显然,AUC越大,分类器分类效果越好。

AUC = 1,是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。

0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。

AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

总结:所有指标的具体含义结合实际例子都很好理解,但每个评价指标应用的场景都不一样,具体场景需要个人去总结。

猜你喜欢

转载自blog.csdn.net/weixin_43172660/article/details/82958534