Условия RandomOverSampler для создания равного распределения - PullRequest
1 голос
/ 14 апреля 2020

В настоящее время я работаю над проектом, основанным на ML, и в моих данных наблюдается небольшой дисбаланс, и мне потребуется метод избыточной выборки. Размерность объектов (X_train) равна (90664, 190), а цель (Y_binary_train_trans) равна (90664,). Тем не менее, код выполняется и по-прежнему выдает такое же неравное распределение цели. Вот код, используемый для RandomOverSampler, он также был опробован с использованием smote;

counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_test_trans)

1 Ответ

0 голосов
/ 15 апреля 2020
counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_test_trans)

Что касается этого кода, ваш второй счетчик считает тестовые образцы, а не тренировочные образцы, которые вы фактически изменили!

Вместо этого должно быть:

counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_train_trans)
...