您如何生成ROC曲线以进行留一法交叉验证?


10

例如,当执行5倍交叉验证时,通常针对5倍的每一个都计算一条单独的ROC曲线,通常乘以带有std的平均ROC曲线。开发。显示为曲线厚度。

但是,对于LOO交叉验证,每个折叠中只有一个测试数据点,为该单个数据点计算ROC“曲线”似乎并不明智。

我一直在获取所有测试数据点(连同它们单独计算的p值)并将它们汇总到一个大集合中,以计算单个ROC曲线,但这在统计学上是洁行的吗?

当每个折叠中的数据点数为1时(如LOO交叉验证的情况),采用ROC分析的正确方法是什么?


为什么?你想用这样的生物完成什么?

我需要分析一系列p值阈值的总体预测性能,而ROC曲线是我传统上用于其他所有类型交叉验证的方法。因此,与ROC分析在任何k折交叉验证中都非常有用的原因基本相同。如果对于LOO xval有不同的类似方法,那么也很了解。另外,如果我有足够的数据,我会做10倍xval之类的事情,这不会成为问题。
user1121 2011年

1
我要说的是,您正在明智地做,只需使用真实的标签和每种情况下的预测值(在这种情况下是
坚持不懈

Answers:


15

如果分类器输出概率,则将单个ROC曲线的所有测试点输出组合在一起是合适的。如果不是,则以使分类器的输出在各个分类器之间可直接比较的方式来缩放其输出。例如,假设您正在使用线性判别分析。训练分类器,然后将训练数据通过分类器。学习两个权重:比例参数σ (减去分类平均值后,分类器输出的标准偏差)和一个shift参数 μ(头等舱的平均值)。使用这些参数将原始数据标准化[R 每个LDA分类器的输出通过 ñ=[R-μ/σ,然后可以从标准化输出集中创建ROC曲线。需要警告的是,您估计更多的参数,因此与基于单独的测试集构建ROC曲线相比,结果可能会略有偏差。

如果无法归一化分类器输出或将其转换为概率,则基于LOO-CV的ROC分析是不合适的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.