RandomForestClassifier在不平衡数据上召回率低是因默认自助采样偏向多数类且投票机制利于多数类;正样本绝对数决定业务影响;分层交叉验证需固定shuffle和random_state以确保recall可复现。为什么 RandomForestClassifier 在不平衡数据上召回率低不是模型"不行",是默认训练方式天然偏向多数类:每个基学习器在自助采样(bootstrap)时,大概率抽到多数类样本,导致少数类模式学得浅;同时,最终投票或平均预测时,多数类预测结果天然占优。尤其当正样本占比 recall 掉到 0.2 甚至更低很常见。关键点在于:它不关心你缺的是"找出来几个正例",只优化整体准确率------而准确率在不平衡场景下毫无意义。别指望调 class_weight="balanced" 就能救回来:它只在损失计算时加权,但 bootstrap 采样本身仍严重偏斜用 SMOTE 过采样 + 普通随机森林,容易在决策边界附近生成噪声样本,反而拉低泛化 recallmax_depth 设太小(如 3),树太浅,根本学不到少数类的细粒度特征;设太大又容易过拟合噪声用 imblearn.ensemble.BalancedRandomForestClassifier 替代原生随机森林它不是简单加权,而是从采样源头改:每棵树训练前,对多数类做随机欠采样,使每轮 bootstrap 数据集里正负样本数量接近 1:1。这样每棵树都真正在"平衡数据"上学,集成后 recall 更扎实。注意它属于 imbalanced-learn(imblearn)库,不是 scikit-learn 原生模块,需单独安装:pip install imbalanced-learn。立即学习"Python免费学习笔记(深入)"; Mokker AI AI产品图添加背景
相关推荐
落木萧萧8259 分钟前
MyBatis 启动的时候都在干什么:从 MappedStatement 说起用户03321266636716 分钟前
快速合并 Word 文档【Python 指南】威联通网络存储19 分钟前
TS-h987XU-RP 在化工制造批次数据场景的部署g105655913922 分钟前
华为 OceanStor 基础使用入门指南潇凝子潇22 分钟前
MySQL buffer pool 计算公式m0_5474866627 分钟前
《Python爬虫大数据采集与挖掘》全套PPT课件2026广州灵眸科技有限公司35 分钟前
瑞芯微(EASY EAI)RV1126B displayCV山月1 小时前
《DPO 算法详解:不训练奖励模型,如何让大模型直接学会人类偏好?》ctlover1 小时前
网络编程和多线程凌晨1681 小时前
MySQL:DML、DDL与TCL精讲