首页 > 解决方案 > 如何在 Python 中使用 SMOTE 函数?

问题描述

我最近开始使用 ML,遇到了 SMOTE 函数,该函数旨在处理我的数据中的不平衡。X_train.shape, y_train.shape我在采样前跑了((6010, 17)(6010,))分别得到了和。运行下面的代码后,当我对新数据运行 shape 方法时,我仍然得到相同的值。这不应该改变吗?还是我误解了这个概念?我遇到的另一个问题是,当我遇到抽样策略时,比如 0.6,我得到了error: 'negative dimensions not allowed.'帮助!谢谢。

from imblearn.over_sampling import SMOTE

sm = SMOTE(random_state=45, sampling_strategy = 1.0)
X_train_sam, y_train_sam = sm.fit_sample(X_train, y_train)

这就是 y_train 的样子:

array([False,  True, False, ...,  True,  True,  True])

标签: pythonmachine-learning

解决方案


推荐阅读