比较不同分类模型性能好坏时,最常用的一种方法是接受者操作特征(Receiver Operating Characteristic, ROC)曲线。ROC曲线是显示分类器真正率和假正率之间折中的一种图形化方法。在ROC曲线上, y 轴表示真正率, x 轴表示假正率。曲线上的每一个点对应一个分类模型的真正率和假正率值。
(1)绘制ROC曲线
为绘制ROC曲线,分类器应当输出连续值,即判为某一类的概率,而不是预测的类标号。具体过程如下:
① 对检验记录的正类的连续输出值递增排序。
② 选择一个小于最小值的一个值为阈值,把高于阈值的记录指派为正类。这种方法等价于把所有的检验实例都分为正类。此时,所有的正样本都被正确分类,同时所有的负样本都被错误分类。所以 TPR=FPR =1。
③ 增大阈值,这时真正率会减小,假正率也会减小。
④ 重复步骤③,并相应地更新真正率和假正率,直到阈值大于检验记录的最大值(阈值的最大值通常取①。
⑤ 根据记录的真正率和假正率画出ROC曲线。
(2)ROC曲线的物理意义。
图4-3显示了分类器 M 1 和 M 2 的ROC曲线。曲线上每个模型都会经过两个点:一个是( TPR =0, FPR =0),代表把每个实例都预测为负类的模型;另一个是( TPR =1, FPR =1),表示把每个实例都预测为正类的模型。图4-3中还有一个很特殊的点,位于图中的左上角即( TPR =1, FPR =0),该点为理想模型,真正率为1,假正率为0,所有正样本都被正确预测为正样本且没有负样本被错误预测为正样本。
图4-3 两种不同分类模型的ROC曲线
ROC曲线有助于比较两个分类器的相对性能。如图4-3所示当假正率小于0.35时分类模型 M 1 要优于 M 2 ,而当假正率大于0.35时模型 M 2 要优于 M 1 。用ROC曲线下方的面积可以评估分类模型的平均性能。理想模型的ROC曲线下方的面积等于1,对于随机猜测的模型来说,它的ROC曲线下方的面积等于0。其他的分类模型的ROC曲线下方面积介于这两者之间。ROC曲线下方面积较大的,模型的平均性能越好。
通常,ROC曲线下方的面积用AVC(Area Under Curre)来表示。