处理高度不平衡的数据集和高基数功能的想法

问题描述

我必须处理Class Imbalance问题并对输入数据集进行binary-classification,其中大多数class-label为0(另一个class-label为1)。

实际的数据集有0M的4M条目和1类的3700条目,非常不正确。

    distribution of class labels 
0    0.999229
1    0.000771

另一件事,我有7个具有高基数的功能

Number of unique values of X1 feature 69 Number of unique values of X2 feature 114 Number of unique values of X3 feature 197 Number of unique values of X4 feature 19 Number of unique values of X5 1684 Number of unique values of X6 feature 7371 Number of unique values of X7 feature 13508

我做了什么:

  • 我尝试使用具有平滑功能的目标编码来处理这些功能
  • 对于分类模型,我还将LightGBM Classifieris_unbalanced=True,损耗f1-score和度量指标f1-score一起使用。
  • 我正在使用BayesSearchCV来找到LightGBM的最佳参数。
  • 我对多数类(类0)进行了下采样。我为第0类留下了500,000个条目(与第1类相比为3700),我知道它仍然不平衡...

这还不够,该模型的效果不佳,过度适合0级。

Class 0  precision=1,recall=1
Class 1 precision=0,recall=0

有什么建议吗?我也能做什么?

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...