我正在使用 LASSO 和交叉验证来拟合 logit 分类器,并努力使用 AUC 选择最佳模型 - 而不是更常见的损失,如二项式偏差或分类错误。我在帖子底部添加了更多详细信息,说明为什么我认为这更适合解决业务问题。
在我给客户的结果中,我计划使用使用二项式偏差选择的分类器,但我只想更深入地了解我无法使用 AUC 进行分类的原因。对于下图,我使用的是开放数据集,如果需要,我还可以提供重现它的代码。这是我使用 AUCglmnet
作为 CV 损失时的曲线。
有一个最大值,是的,但是依靠这个来为分类器选择 lambda 看起来并不明智。如果我用二项式偏差来做,结果还可以(我不张贴图片是为了不让问题超载)。
此外,如果我尝试使用“更简单”的分类问题设置,AUC 和偏差都可以(实际上给出了相似的结果,尽管不相同)。
那么,我的问题是:什么让 CV 损失惨重?事后,我可以直观地看到为什么 AUC 会是一个不太稳定的度量,具有更高的方差,但我可能正在遭受“确认偏差”。无论如何,有没有正式的为什么要建立这个?你能指出我有用的资源吗?
作为参考,我正在使用“统计学习的要素”,尽管那里几乎没有关于此的内容(但是我相信glmnet
由同一作者维护,并且该库可以选择在将 CV 用于分类器时使用 AUC)。浏览此站点或网络时,关键字“AUC”和“交叉验证”不是很有区别 - 或者至少我没能找到太多有用的东西。我真的很感激见解/指针。
关于业务问题的更多上下文:我正在使用提升建模拟合分类器;有一个治疗组和一个对照组,重点是在考虑到可用实验结果的情况下找到最佳目标客户。
对于评估最佳模型,我所知道的最佳参考是 Qini 分数,请参阅Radcliffe, NJ (2007)。使用控制组以预测提升为目标:构建和评估提升模型。直接营销分析杂志,直接营销协会,14-21。
我自己编写了 CV 循环来根据 Qini 分数选择最佳分类器,因为这是衡量结果好坏的最佳方法(提升相对不常见,很难找到这些现成可用的功能) . 我的尝试没有多大意义,我支持 AUC 作为 CV 的损失,因为最后 Qini 的概念有点类似于 AUC:结果也没有意义。
我在上面使用 AUC 说明了我的问题,因为它是一种常见且可以理解的度量,也希望如果我了解为什么以及何时 AUC 是一个好或坏的度量,我最终可以推广到 Qini。
谢谢。