ROC曲线

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

ROC曲线(受试者工作特征曲线)是评估机器学习模型性能的重要工具。它们最常用于二进制分类问题——那些有两个不同输出类的问题。ROC曲线表示模型的真阳性率(TPR)与假阳性率(FPR)之间的关系。TPR是分类器对“正”观测结果预测“正”的比率。FPR是分类器对实际为“负”的观察结果预测为“正”的比率。一个完美的分类器的TPR为1,FPR为0。

你可以在MATLAB中计算ROC曲线®使用perfcurve函数统计和机器学习工具箱™.此外,分类学习者应用程序生成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曲线用perfcurve函数计算(从左到右)一个完美的分类器,一个典型的分类器,和一个分类器,没有比随机猜测更好。

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



软件参考

参见:交叉验证机器学习