【发布时间】:2019-10-01 04:24:06
【问题描述】:
我想重新采样我的数据集。这包括具有 3 个类别标签的分类转换数据。每类样本量为:
- A 类计数:6945
- B 类计数:650
- C 类计数:9066
- 样本总数:16661
没有标签的数据形状是 (16661, 1000, 256)。这意味着 (1000,256) 的 16661 个样本。我想要的是将数据上采样到多数类的样本数,即A类->(6945)
但是,调用时:
from imblearn.over_sampling import SMOTE
print(categorical_vector.shape)
sm = SMOTE(random_state=2)
X_train_res, y_labels_res = sm.fit_sample(categorical_vector, labels.ravel())
它一直说 ValueError: Found array with dim 3. Estimator expected
我怎样才能以估算器可以拟合并且也有意义的方式展平数据?此外,在获得 X_train_res 后如何展开(具有 3D 维度)?
【问题讨论】:
-
可以将 3d 转换为 2d 数组,然后再转换回 3d。但是你需要知道二维数组的形状(你需要二维数组的形状),然后才能继续。
-
我该怎么做? @AbdurRehman