关于caret中glmnet模型model_fit$results$ROC的重采样性能疑问
关于caret中glmnet模型
model_fit$results$ROC的解释 是的,你的理解完全正确!model_fit$results$ROC就是与你指定的lambdaSeq序列长度完全一致的重采样性能均值向量,而非全样本重训后得到的性能度量。
具体拆解下细节:
- 结合你给出的训练代码:你通过
tuneGrid固定了alpha=0.5,同时传入了lambdaSeq序列。train函数会针对序列里的每一个lambda值,在你设置的重采样策略(由trControl定义)下,逐个在训练子集上拟合模型,然后在对应的留存验证子集上计算ROC值。 - 每个
lambda值都会得到一组来自不同重采样折的ROC结果,之后train会把这组结果的均值汇总到model_fit$results$ROC中,同时还会给出对应的标准差(对应model_fit$results$ROCSD字段)。 - 这完全对应caret文档里的描述:基于重采样计算性能度量,汇总每种参数组合的均值和标准差。而全样本重训后的性能(比如直接在整个
Data上训练后计算的ROC)并不会出现在results数据框里,如果你需要这个值,得自己额外用全数据重新拟合并评估。
内容的提问来源于stack exchange,提问作者Fra_Ve
相关产品推荐
相关产品推荐

