ROC曲线

评估机器学习分类模型的性能

ROC曲线(接收器工作特性曲线)是评估机器学习模型性能的重要工具。它们最常用于二进制分类问题,即具有两个不同输出类的问题。ROC曲线显示了模型的真阳性率(TPR)和假阳性率(FPR)之间的关系。TPR是分类器预测“正”观测值的“正”速率。FPR是分类器预测实际“负”观测值的“正”速率。完美分类器的TPR为1,FPR为0。

可以在MATLAB中计算ROC曲线®使用性能曲线作用于统计和机器学习工具箱™. 此外,分类学习者应用程序生成ROC曲线,以帮助您评估模型性能。该应用程序允许您指定要绘制的不同类别,因此您可以查看具有两个以上不同输出类别的多类别分类问题的ROC曲线。

ROC曲线的工作原理

大多数用于二元分类的机器学习模型在进行预测时不会仅输出1或0。相反,它们会在[0,1]范围内的某个位置输出一个连续值。值等于或高于某个阈值(例如0.5)然后将阈值分类为1,低于该阈值的值分类为0。ROC曲线上的点表示不同阈值的FPR和TPR。

所选阈值可以位于范围[0,1]上的任何位置,并且生成的分类将根据该阈值的值进行更改。例如,如果阈值一直设置为0,则模型将始终预测1(任何大于或等于0的值都被分类为1)导致TPR为1,FPR为1。在ROC曲线的另一端,如果阈值设置为1,则模型将始终预测0(低于1的任何值均归类为0),导致TPR为0,FPR为0。

在评估分类模型的性能时,您最感兴趣的是在这些极端情况之间会发生什么。一般来说,ROC曲线越“向上和向左”,分类器就越好。

ROC曲线通常与交叉验证根据验证或测试数据评估模型的性能。

ROC曲线采用性能曲线函数用于(从左到右)一个完美分类器、一个典型分类器和一个不比随机猜测更好的分类器。

另见:交叉验证,机器学习