【机器学习】ROC曲线和AUC面积

ROC曲线的横坐标轴是FPR(False Positive Rate),纵坐标轴是TPR(True Positive Rate),对应于下面的混淆矩阵(fusion matrix):

T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP

TP指的是正类被分为正类的个数,FN指的是正类被分为负类的个数(错误的负类),所以TP+FN指的就是所有正类的个数,这样这个比值的意义就是所有正类样本中被正确分类为正类的比值。结合异常点检测的例子(异常点是正类,正常点是负类)就是,异常点中被正确分为异常点的比值。

F P R = F P F P + T N FPR = \frac{FP}{FP+TN} FPR=FP+TNFP
FP指的是负类被分为正类的个数(错误的正类),TN指的是负类被分为负类的个数,所以FP+TN就是所有负类的个数,这样这个比值的意义就是所有负类样本中被错误分为正类的比值。还是结合异常点检测的例子就是,正常点中被错误地分为异常点的比值。

再用在知乎上看到的一句来升华:AUC指的是分类器输出该正样本为正的那个概率值 比 分类器输出该负样本为正的那个概率值 要大的可能性。

因此,总的来说TPR和FPR分别
可以看出TPR和FPR分别是TP和FP在其所在混淆矩阵的所在列的比例。

ROC曲线的作用是为分类器选择最优阈值,如一个二分类的分类器对一个样本的的分类score是0.6,阈值设置为大于0.5时分类为正类,那么这个样本就是正类。而如果阈值设置为大于0.7时分类为正类,那么自然这个样本就被分为了负类。这样不同阈值得到的TPR和FPR自然是不一样的,但是总有一个阈值是最合适的。

所以,在ROC曲线中,一般认为ROC曲线中最靠近左上角的点是分类错误最少的最优阈值。另外,所取的阈值越多,采样的点也就越多,从而形成的ROC曲线也就越平滑。如下图中分别是对应了TPR和FPR在(0,0)、(0.5,0.75)以及(1,1)条件下形成的ROC曲线。


AUC即是ROC曲线下方区域构成的面积(Area Under ROC Curve)。AUC面积越大,模型的分类效果越好。

ROC和AUC一般常用于label unbanlance的数据的分类指标中。如在异常点检测中,异常点,也就是正类,常常很少。如100个样本点中只有一个异常点,我们把所有数据都分类为负类,得到的accuracy是99%,但是显然accuracy并不是我们要的衡量指标。而通过ROC曲线得到的TPR和FPR都是0(TP和FP都是0),这样得到的AUC也就是0了。

文中图片来源:如何理解机器学习和统计中的AUC? - 无涯的回答 - 知乎
https://www.zhihu.com/question/39840928/answer/241440370

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值