这篇文章中我将使用sklearn的ROC曲线官方示例代码进行讲解,当然主要目的还是在于记录,好记性不如烂键盘嘛。
ROC曲线定义
ROC曲线是Receiver Operating Characteristic Curve的简称,中文名为“受试者工作特征曲线”。
ROC曲线的横坐标为假阳性率(False Positive Rate,FPR);纵坐标为真阳性率(True Positive Rate,TPR)。FPR和TPR的计算方法分别为:
F P R = F P F P + T N FPR = \frac{FP}{FP + TN} FPR=FP+TNFP
T P R = T P T P + F N TPR = \frac{TP}{TP + FN} TPR=TP+FNTP
式中FP表示实际为负但被预测为正的样本数量,TN表示实际为负被预测为负的样本的数量,TP表示实际为正被预测为正的样本数量,FN表示实际为正但被预测为负的样本的数量。这几个变量可以用下面的混淆矩阵表示:
从混淆矩阵也可以看到FP+TN是实际为负的样本数量,因此,FPR公式也可以写作:
F P R = F P N FPR = \frac{FP}{N} FPR=NFP
同理,TP+FN是实际为正的样本数量,因此,TPR公式也可以写作: