AUC(Area under curve)是机器学习常用的二分类评测手段,直接含义是ROC曲线下的面积, 对于二分类模型,还有很多其他评价指标,比如 logloss,accuracy,precision。如果你经常关注数据挖掘比赛,比如 kaggle,那你会发现 AUC 和 logloss 基本是最常见的模型评价指标。
从AUC 判断分类器(预测模型)优劣的标准:
AUC = 1,是完美分类器;
AUC = [0.85, 0.95], 效果很好;
AUC = [0.7, 0.85], 效果一般;
AUC = [0.5, 0.7], 效果较低,但用于预测股票已经很不错了;
AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值;
AUC < 0.5,比随机猜测还差。
为什么 AUC 和 logloss 比 accuracy 更常用呢?
因为很多机器学习的模型对分类问题的预测结果都是概率,如果要计算 accuracy,需要先把概率转化成类别,这就需要手动设置一个阈值,如果对一个样本的预测概率高于这个预测,就把这个样本放进一个类别里面,低于这个阈值,放进另一个类别里面。
所以这个阈值很大程度上影响了 accuracy 的计算。使用 AUC 或者 logloss 可以避免把预测概率转换成类别。
如何计算
ROC曲线下面积:
横坐标正是 FPR