ROC 曲线将真实阳性率(灵敏度)绘制为参数的不同截止点的假阳性率(100 特异性)的函数。ROC 曲线上的每个点代表对应于特定决策阈值的灵敏度/特异性对。这将允许人们在改变给定参数(例如随机森林中的树数)时比较模型的优劣,以帮助优化特定分类器的参数。虽然在比较不同类型的分类器(例如随机森林、神经网络和逻辑回归)时应该使用 ROC 曲线吗?我在这里的倒数第二张幻灯片上遇到了这样一个例子并试图理解这些曲线的重要性。据我所知,在比较曲线下面积同时调整不同类型分类器中的不同参数时,显示的图表似乎不一定是公平的比较。
比较接受者操作特征 (ROC) 曲线的意义
数据挖掘
机器学习
优化
2022-02-12 23:12:28
1个回答
虽然在比较不同类型的分类器(例如随机森林、神经网络和逻辑回归)时应该使用 ROC 曲线吗?
是的,因为您可以清楚地看到哪个模型总体上表现最好。您越靠近图表的左上角,您的模型就越好。(您示例中的蓝线,随机森林)
如果您在示例中计算 ROC 曲线下的面积,您将得到:
AUC(RF) > AUC(MLP) > AUC(SVM)
所以AUC是一个很好的指标来显示哪条曲线“更高”。
现在,有时您可能会对左下角具有“更陡峭”ROC 曲线的模型感兴趣(提高 TPR 的机会更高,在 FPR 方面成本较低),也许该模型不是最好的的 AUC。(在您的示例中不是这种情况)
在这种情况下,您不会选择 AUC 作为模型选择的术语,因为它不会为您选择“最佳”模型。
总体而言,不同模型之间的 ROC 曲线对您有很大帮助,不仅显示了不同阈值的性能,还同时比较了不同的解决方案。
编辑:
每个模型为每个观察给出一个数字,该数字是属于一个类别的概率(一个介于 0 和 1 之间的数字p )。假设您对一次观察得到 p = 0.3,然后以 0.5 的阈值将该观察标记为两个类别之一(假设只有两个标签)。
你的规则是:
- 如果 p < 0.5(阈值),则 obs 被标记为“一”类
- 如果 p >= 0.5(阈值),则 obs 被标记为“零”类
使用 ROC 曲线,您基本上拥有“高”数量的阈值,例如从 0.01 到 0.99。对于每个模型。
因此,对于每个模型,您会将每个观察值分配给相应的类,使用 t = 0.01,然后 t = 0.02,依此类推,直到 t = 0.99。(t = 阈值)
其它你可能感兴趣的问题