分类问题中的ROC曲线和Precision-Recall曲线Python -- part 1 (ROC curves)
最近跟朋友讨论一些分类问题中模型的评估问题, 尤其是不平衡(imbalance outcomes)问题的模型评估。现总结和分析一下我们经常用到的ROC curves 和 Precision-Recall curves。读完本文(有三部分),你将会对这两种曲线有更好的理解,以及你会清楚的知道什么时候用ROC,什么时候用Precision-Recall。本文是第一部分, 主要讨论ROC曲线。
- ROC curves
- Precision-Recall curves
什么是ROC曲线?
简单的讲, ROC曲线是关于假阳性false positive rate(x 轴)和true positive rate 真阳性(y 轴)在不同的thresholds取值下得到的曲线。下面我们简单说明一下假阳和真阳的概念,我们以有无心脏病为预测的事件。
- false positive: 预测有心脏病, 但实际上没有
- true positive:预测有心脏病, 实际上也有
- False Positive Rate = False Positives / (False Positives + True Negatives)
- True Positive Rate = True Positives / (True Positives + False Negatives)
ROC曲线是一个最经常用的关于分类问题中对物体所属于的类别的概率预测的模型评估metric之一。它广泛被应用的原因是:
- 不同的模型可以直接比较&