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

时间:2020-11-07 13:17:55

标签: python machine-learning classification ensemble-learning

我必须处理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

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

0 个答案:

没有答案