f1 score 代码_类别不平衡处理方式及测试代码

本文探讨了在类别不平衡数据情况下,如何处理以优化模型性能。通过实验比较了不处理、调整样本权重、过采样、欠采样、EasyEnsemble和SMOTE等方法,并使用AUC、KS和F1 Score作为评估指标。结果显示,不处理和加样本权重的方法通常表现最佳。此外,文章提到欠采样对IV、KS和LIFT的影响,并指出在交叉验证中应如何正确采样。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因:与某数据服务提供商联合建模,对方数据特征iv与ks都很低。

此时对方建模同学提出“这可能是因5%的bad rate导致的,需要采样。”(一脸懵

切不论5%是否能算作类别不平衡,也先不谈采样是否能使得iv和ks提升。

我们先思考对于类别不平衡数据我们可以选择哪些处理方式?

直接上kaggle notebook测试代码:

https://www.kaggle.com/peaceworld/ensemble-test-credit-score-model-example​www.kaggle.com

这份数据情况:训练集(150000, 10),其中0:good,1:bad 6.68%,与我们实际情况很接近。

先对训练集train test split,然后对train进行采样操作,test保持不变。之后train上训练模型,test上评估。

常见处理方式:

1.不处理:直接使用lightgbm五折的方式训练模型作为base。请注意,不要直接默认阈值为0.5,如果你的评估指标是和阈值相关的,请在cv train的时候尝试搜索,然后用在test上使用。

2.调整样本权重:在方法1的基础上,增加lgb模型参数is_unbalance=True,本质是增加小类别样本权重。

3.过采样:随机对小类别样本进行重复采样,使得最后好坏样本比例1:1,然后使用方法1训练。

4.欠采样:随机去除大类别样本,使得最后好坏样本比例1:1,然后使用方法1训练。

5.EasyEnsemble&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值