首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用Pandas DataFrame进行不平衡学习

利用Pandas DataFrame进行不平衡学习
EN

Stack Overflow用户
提问于 2019-09-02 11:30:15
回答 2查看 1.5K关注 0票数 4

我的数据集非常不平衡。两个少数类各包含多数类中的一半样本。我的RNN模型无法了解人口最少的类。

我正在尝试使用imbalanced-learn库。例如:

代码语言:javascript
复制
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的输入。如果我删除它,我将无法判断这些字符串属于过采样的数据集的哪一行。

是否有办法保留所有列并告诉函数哪些列用于过采样?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-02 15:17:47

对于那些需要做类似事情的人,库的一位共同作者建议我使用SMOTENC,它也可以处理分类变量(比如字符串)。

票数 3
EN

Stack Overflow用户

发布于 2019-09-02 12:19:10

如果string列是RNN的输入,那么假设您计划以某种方式对它进行编码(例如,一个热编码),那么只需在过采样之前对该列进行编码,然后使用新编码的列而不是string列运行过采样。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57756173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档