ROC曲线交叉验证

时间:2012-09-19 10:55:59

标签: image-processing machine-learning computer-vision pattern-recognition

如何为交叉验证生成ROC曲线?

对于单个测试,我认为我应该对SVM的分类分数进行阈值以生成ROC曲线。

但我不知道如何为交叉验证生成它?

2 个答案:

答案 0 :(得分:5)

经过一轮完整的交叉验证后,所有观察结果都被分类一次(尽管通过不同的模型)并且已经给出了归属于感兴趣类别的估计概率或类似统计量。这些概率可用于以与在外部测试集上获得的概率完全相同的方式生成ROC曲线。只需计算分类错误率,因为您将分类阈值从0更改为1,并且您已全部设置。

但是,通常您希望执行多轮交叉验证,因为性能会根据折叠的划分方式而有所不同。对我来说,如何计算所有轮次的平均ROC曲线并不明显。我建议将它们全部绘制出来并计算平均AUC。

答案 1 :(得分:2)

作为Backlin的后续行动:

不同k-fold或leave-n-out交叉验证的结果变化显示模型的不稳定性。这是有价值的信息。

  • 当然,您可以汇总结果,只生成一个ROC。
  • 但您也可以绘制曲线组 见例如R包ROCR
  • 或计算,例如在不同阈值处的中位数和IQR,并构建描绘这些变化的条带 这是一个例子:阴影区域是在8次交叉验证的125次迭代中观察到的四分位数范围。对于一个特定阈值,薄黑区域包含一半观察到的特异性 - 灵敏度对,中位数用x标记(忽略+标记)。 ROC of iterated cross validation