ROC曲线

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

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

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

Roc曲线如何工作

大多数机器学习模型用于二进制分类时不会在进行预测时输出1或0。相反,它们在范围内的某处输出连续值[0,1]。然后将特定阈值(例如0.5)分类为1的值,并且以下将该阈值分类为0. ROC曲线上的点代表FPR和TPR的不同阈值。

所选阈值可以是在范围[0,1]的任何位置,并且产生的分类将基于该阈值的值来改变。例如,如果将阈值设置为0,则模型将始终预测1(在0或高于0的内容被分类为1),导致TPR为1和1.在ROC的另一端的FPR曲线,如果阈值设置为1,则模型将始终预测0(以下内容的任何分类为0),导致TPR为0和FPR为0。

在评估分类模型的性能时,您对这些极端情况之间发生的事情最感兴趣。通常,ROC曲线的“向上和向左”越多,分类器越好。

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

使用的ROC曲线计算perfcurve.for(从左到右)一个完美的分类器,典型的分类器和一个比随机猜测更好的分类器。

也可以看看:交叉验证机器学习