【问题标题】:Issues with imbalanced dataset in case of binary classification二进制分类时数据集不平衡的问题
【发布时间】:2020-05-21 04:39:08
【问题描述】:

我有一个二元分类问题,其中数据划分类似于:{0:85%,1:15%}。我尝试重新加权 class_weights 和其他采样方法。但是我使用的所有方法都给了我不满意的结果。 我的数据集是 (91125,57)。

Accuracy:1
F1-Score:1
F2-Score:1
Precision:1
Recall:1
AUCROC:1
Kappa:1

有没有其他方法可以用来处理这种情况?

【问题讨论】:

  • 85% / 15% 是一个相当平衡的数据集,因此您面临的任何问题都不太可能是由于类别不平衡造成的。如果您分享的这些数字是来自您的模型的指标,那么您的输入特征很可能存在目标泄漏。
  • 您能否具体说明目标泄漏的实际含义?
  • 当您的输入特征包含有关目标的信息时,您对模型进行评分时将不可用:kaggle.com/dansbecker/data-leakage

标签: python machine-learning data-science imbalanced-data


【解决方案1】:

确保在将数据提供给分类器之前从特征中删除目标变量:

X = df.drop('target',axis=1) y = df['target']

我还会检查一些自变量是否与目标高度相关。它可能会让您了解导致不切实际的完美分类的原因:

import seaborn as sns sns.heatmap(X_train.corr())

【讨论】:

    猜你喜欢
    • 2018-09-13
    • 1970-01-01
    • 2018-01-09
    • 2019-08-30
    • 2019-12-01
    • 2021-09-27
    • 2017-08-16
    • 2023-03-12
    • 2015-01-28
    相关资源
    最近更新 更多