ROC的意义其实特别直观。不用去管什么真阳假阳。
横轴表示:把负例判成正例的比例
纵轴表示:把正例判成正例的比例
在ROC曲线上随便找一个点,对Y轴做垂线a,对X轴做垂线b。a反映出当前的阈值下,分类器有多少概率把负例判成正例。b反映出有多少概率把正例判成正例。当阈值取无穷大时,一定是在原点。因为把所有都判成负例了,纵轴一定是0,横轴也是0。当阈值取0时,一定在(1,1)点上,因为把所有都判成正例了,纵轴一定是1,横轴也是1。
ROC反映了:判成正例的样本,是由Y轴比例的正例(分母为所有正例个数),和X轴比例的负例(分母为所有负例个数)混合而成的。因为两轴分母不同,故不受类别不平衡影响。如果点位于对角线上,说明判成正例的样本里头,是由真正例和真负例以同等比例凑成的,实际哪个多取决于类别内样本数。这是很糟糕的,说明模型对正负样本没有判断能力。尽管准确率可能很高。
为什么用面积(AUC)?
在进行学习器的比较时,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;若两个学习器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较,则比较合理的判断依据是比较ROC曲线下的面积,即AUC。