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

ROC曲线(receiver operating characteristic curve)是评价机器学习模型性能的重要工具。它们最常用于二进制分类问题——那些有两个不同的输出类的问题。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函数用于(从左到右)一个完美的分类器、一个典型的分类器和一个不比随机猜测更好的分类器。



软件参考

参见:交叉验证机器学习