我最近开始学习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])