LightGBM 无法预测验证集 (R)

问题描述

我在极端不平衡的数据集(使用 R)上实施 LightGBM 时遇到了大麻烦

确实,我正在处理一个二元分类问题,目标变量的分布约为 1:800

(大约:0 类:110 000 第 1 类:140 )

我有近 300 个变量(它们是 12 个月内动态变量的汇总)和几个分类变量

在以下所有内容中,我的评估是 F1 分数,我使用的指标是 二进制对数损失

我尝试了两种方法:一种使用重采样技术,一种不​​使用。

第一种方法

  1. 首先,我决定对我的分类变量进行 LabelEncode(因为 ADASYN 不考虑分类变量作为输入)

  2. 我尝试了 SMOTE/ADAZYN 和 NearMiss/RandomUnderSampler 的不同组合来重新采样我的训练集

  3. 我标准化了我的数值变量

  4. 我在训练集上训练我的模型并在我的验证集上进行预测(没有为 lgb.train 中的正类指定参数 scale_pos_weight)

  5. 我得到了一些非常糟糕的结果:
    在训练集上:F1-score=0.5
    在测试集上:F1-score=0.04

第二种方法

与第一个相同,但我没有在训练集上使用重采样技术。
在我的情况下,我只设置了 scale_pos_weight = count(negative)/count(positive) ~ 800

我尝试调整参数,但我觉得我错过了一些东西,因为验证集上的 F1 分数仍然在 0.02 左右..

你对我如何改进我的模型有什么想法吗?

非常感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)