获得交叉验证 AUC 的适当方法

机器算法验证 数理统计 交叉验证 奥克
2022-03-04 19:11:59

我在考虑交叉验证以及它如何是最合适的方法......

让我们以二元逻辑回归为例,其目标是计算 AUC。

使用 k 折对数据进行分区。获得交叉验证 AUC 的正确方法是什么:

1) 使用 k-1 折训练模型并预测第 k 折。计算 AUC 并重复,直到所有折叠都用作测试集。这将在最后给出 k AUC 值,我们将其平均以获得交叉验证的 AUC。

2) 使用 k-1 折训练模型并预测第 k 折。保存预测。重复直到所有折叠都作为测试集。这将给出一个预测向量,针对数据集中的每个主题。使用此预测向量和观察到的响应向量计算 AUC。

我对交叉验证的直觉和想法表明2)是正确的......

2个回答

执行此操作的首选方法是 (1),而不是 (2)。例如,基于 Forman, G., Scholz, M. & Scholz, M. Apples-to-Apples in Cross-Validation Studies: Pitfalls in Classifier Performance Measurement (2009):

AUC 合并的问题在于,通过将不同的折叠排序在一起,它假设分类器应该产生经过良好校准的概率估计。通常,对测量概率估计质量感兴趣的研究人员会使用 Brier 分数等。相比之下,基于 AUC 测量性能的研究人员通常不关心校准或特定阈值,只关心分类器将阳性排在阴性之前的能力。因此,AUC 合并在研究中增加了一个通常意想不到的要求:如果跨折叠的校准不佳,它将降低排名良好的分类器,正如我们在第 3.2 节中所说明的那样

正如教务长在“ROC 分析简介”中解释的那样,ROC 平均可以简单地通过组合来自多个集合的分数来完成T1,...,Tk正如您在方法(2)中建议的那样。这比方法 (1) 更可取,因为平均实际 ROC 曲线可能非常困难,因为预计点的特异性(x 轴)值会有所不同。因此,您需要进行大量插值来平均曲线。另一个优点是方法 (2) 得到的曲线更平滑,更接近 AUC,因为分数低往往会低估 AUROC(至少在通过梯形规则计算时)。

但是,应该注意方法 (1) 的一个优点是它使您能够估计 AUC 的方差。