Я пытался использовать эту технику для исправления очень несбалансированных классов.
В моем наборе данных есть классы, например:
In [123]:
data['CON_CHURN_TOTAL'].value_counts()
Out[123]:
0 100
1 10
Name: CON_CHURN_TOTAL, dtype: int64
Я хотел использовать SMOTETomek для примера 0-классаи по выборке 1-класса для достижения соотношения 80: 20. Однако я не могу найти способ исправить словарь.Конечно, в полном коде соотношение 80:20 будет рассчитываться на основе количества строк.
Когда я пытаюсь:
from imblearn.combine import SMOTETomek
smt = SMOTETomek(ratio={1:20, 0:80})
У меня ошибка:
ValueError: При использовании методов избыточной выборки число выборок в классе должно бытьбольше или равно исходному количеству образцов.Первоначально есть 100 выборок и 80 выборок задаются.
Но этот метод должен быть подходящим для одновременного выполнения как недостаточного, так и избыточного отбора.
К сожалению, документальный фильм сейчас не работает из-за ошибки 404.