我以前使用mlr3
解决不平衡分类问题,并在训练过程中使用PipeOpClassWeights
将类权重应用于学习器。此管道操作向Task$weights
属性中的Task
添加一列观察权重。然后在训练期间将这些观察权重传递给Learner
。
一些分类性能指标,如Brier得分(classif.bbrier
)和log loss(classif.logloss
),可以通过应用类权重来计算(这就是我们使用类权重训练时训练log loss发生的情况)。
我的问题是,当我们用resample
执行验证,并从结果中汇总性能指标时,
resampling = rsmp("cv", folds = 4)
measure = msr("classif.bbrier")
result = resample(task, learner, resampling)
score = resampling$aggregate(measure)
类权重是否也应用于此验证分数计算(如果适用于特定度量)?当我们执行超参数调优时,例如使用AutoTuner
时,是否也会这样做?
我查看了上述类的文档,以及mlr3book的重采样部分,但找不到答案。我假设我们希望将应用于训练损失的相同类权重应用于验证损失,至少对于超参数调优,如果不是性能测试的话。
在xgboost
的Python实现的验证分数中遇到类似的问题后,我受到了启发,开始研究这个问题,讨论here。
1条答案
按热度按时间ejk8hzay1#
是的,他们是。如果不是,那就是bug。