当使用 caret 的 train 函数拟合 GBM 分类模型时,函数 predictionFunction 将概率预测转换为基于概率阈值 0.5 的因子。
out <- ifelse(gbmProb >= .5, modelFit$obsLevels[1], modelFit$obsLevels[2])
## to correspond to gbmClasses definition above
如果用户试图最大化 ROC 曲线下的面积 (AUROC),这种转换似乎为时过早。虽然敏感性和特异性对应于单个概率阈值(因此需要因子预测),但我更喜欢使用 gbmPredict 的原始概率输出来计算 AUROC。根据我的经验,我很少关心分类模型的校准。我想要尽可能多的信息模型,无论模型预测“1”与“0”的概率阈值如何。是否可以将原始概率强制纳入 AUROC 计算?这看起来很棘手,因为无论使用什么汇总函数都会传递已经是二进制的预测。