ML基础-理解ROC和AUC

时间:2022-12-07 17:42:14

前言

作为一个MLer,你一定听过同事或朋友提到过ROC和AUC,作为一个重要的分类器的评价指标,这篇文章带大家简要了解一下。

背景

在分类问题中,最常用的评价指标就是precision、recall和f-score,还有就是accuracy,注意precision和accuracy是不一样的。但是当样本分布不平衡的时候,precision和recall看起来就不是很合理了。比如说正样本占90%,那么分类器完全预测所有样本为正,precision都有90%了,但是并不一定比另precision为80%的分类器好,因为它有可能能分对5%的负样本。

那么这个时候ROC和AUC就派上用场了,对于一个特定的分类器,ROC和AUC并不随着样本集的变化而变化,其是稳定的。

ROC

Receiver Operating Characteristic,其横坐标表示False Positive Rate,纵坐标表示True Positive Rate,关于FPR喝TPR,分享下面一张图片给大家。
ML基础-理解ROC和AUC

通常来说我们只有一个样本集合,那么怎么得到不同组的FPR和TPR内,我们可以枚举正样本判定的阈值,这样一个阈值对应一组FPR合TPR,如果阈值取得足够多,那么显然就能绘制一条ROC曲线了。

AUC

顾名思义,Area Under Curve,就是指ROC曲线下方的面积。这个面积通常是大于等于0.5,小于等于1.0的。AUC的值越大越好。

有一种理解是说AUC表示的是,当来一个正样本和一个负样本,正样本被预测的值大于负样本预测的值的概率。这里我们默认值越大越倾向于为正例。

参考资料

http://alexkong.net/2013/06/introduction-to-auc-and-roc/

其他

我的微博:小小程序师
微信公众号:CodingRush 分享数据挖掘、分布式机器学习、编程等相关知识。
ML基础-理解ROC和AUC