类别不平衡二分类任务中基准模型性能验证及参数确认咨询
问题1:严重类别不平衡下,能否认定better_lrns优于无特征学习器?
不能仅靠classif.ce(分类错误率)直接判定,原因如下:
- 类别不平衡场景中,错误率指标天然偏向多数类:比如多数类占99%时,无特征学习器全预测多数类就能得到1%的错误率,但如果一个学习器尝试捕捉少数类,可能错误率更高,却具备更实用的泛化能力。
- 必须结合不平衡任务专用指标验证:优先看召回率(少数类的识别能力)、F1-score(精确率与召回率的平衡)、AUC-PR(精确率-召回率曲线下面积),这些指标对少数类性能的反映比错误率更准确。
- 需补充统计显著性检验:通过多次交叉验证收集两组学习器的性能数据,用配对t检验或McNemar检验验证性能差异是否由随机波动导致。
- 检查模型实际行为:查看混淆矩阵,确认better_lrns是否真的提升了少数类的预测效果,而非仅拟合多数类。
问题2:无特征学习器Level参数与classif.ce结果的对应关系确认
mlr3的无特征分类器中,Level参数直接决定其预测策略,对应错误率的计算逻辑:
- 若
Level设为多数类(默认行为),分类器会将所有样本预测为多数类,此时classif.ce等于少数类样本数/总观测数。 - 若手动指定
Level为某一特定类别(比如负类),则classif.ce等于该类别以外的样本数/总观测数。
你可以通过以下方式快速确认当前Level设置:
- 输出学习器参数配置:执行
learner$param_set$values,直接查看Level的取值。 - 数值匹配验证:将你的
classif.ce结果分别与“负类样本数/总观测数”“正类样本数/总观测数”对比,匹配的数值对应的就是分类器的预测类别。 - 查看混淆矩阵:无特征分类器的混淆矩阵仅会有一行或一列存在非零值,对应的类别就是它的预测目标,可反向推导
Level设置。
内容的提问来源于stack exchange,提问作者intelinsight
相关产品推荐
相关产品推荐

