【发布时间】:2020-01-05 10:41:30
【问题描述】:
我的数据集非常不平衡。两个少数类别中的每一个都包含多数类别中样本的一半。我的 RNN 模型无法了解人口最少的类的任何信息。
我正在尝试使用 imbalanced-learn 库。例如:
sm = SMOTE(random_state=42, n_jobs=-1, k_neighbors=10)
X_train, y_train = sm.fit_resample(train.drop(['label], axis=1), train['label'])
如果train.drop(['label] 仅包含所用特征的值,则有效。问题是我的 DataFrame 包含一个包含字符串作为值的附加列:我不能删除它,因为这些字符串是我的 RNN 的输入。如果我放弃它,我将无法分辨这些字符串属于过采样数据集的哪一行。
有没有办法保留所有列并告诉函数使用哪些列进行过采样?
【问题讨论】:
标签: python machine-learning deep-learning pytorch imbalanced-data