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或0以上的东西都被归类为1),结果TPR为1,FPR为1。在ROC曲线的另一端,如果阈值设置为1,则模型将始终预测为0(任何低于1的内容都被归为0),导致TPR为0,FPR为0。

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

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

用perfcurve函数计算的ROC曲线(从左到右)分别为一个完美分类器、一个典型分类器和一个不优于随机猜测的分类器。

ROC曲线用perfcurve函数分别为(从左到右)一个完美的分类器、一个典型的分类器和一个只能随机猜测的分类器。



软件参考

参见:交叉验证机器学习

Baidu
map