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

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

你可以在MATLAB中计算ROC曲线®使用perfcurve函数统计和机器学习工具箱™。此外,Classification Learner app会生成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函数用于(从左到右)一个完美分类器、一个典型分类器和一个只能进行随机猜测的分类器。

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