Я хочу повторно сэмплировать некоторые большие данные (размеры классов: 8 миллионов против 2700). Мне бы хотелось иметь 50 000 выборок для каждой из них, используя классы избыточной выборки 2 и класс 1 пониженной выборки. Кажется, что imblearn предлагает комбинацию избыточной и недостаточной выборки, но я непонять, как это работает.
from collections import Counter
from imblearn.over_sampling import SMOTENC
from imblearn.under_sampling import TomekLinks
from imblearn.combine import SMOTETomek
smt = SMOTETomek(random_state=1)
X_resamp, y_resamp = smt.fit_resample(data_all[29000:30000], labels_all[29000:30000])
До того, как данные выглядели как
>>Counter(labels_all[29000:30000])
>>Counter({0: 968, 9: 32})
, а затем
>>Counter(y_resamp)
>>Counter({0: 968, 9: 968})
, как я ожидал или желал что-то вроде
>>Counter(y_resamp)
>>Counter({0: 100, 9: 100})