до сих пор мой код является следующим для запуска SMOTENC.
from imblearn.over_sampling import SMOTENC
smt = SMOTENC(random_state=seed, categorical_features=[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53], ratio=1.0, n_jobs = -1)
# n_jobs = The number of threads to open if possible. ``-1`` means using all processors.
# default K=5
X_res, y_res = smt.fit_sample(X_tra, y_tra)
Проблема здесь в том, что я читал о SMOTE и, поскольку он использует алгоритм KNN с евклидовым расстоянием, данные должны быть масштабированы до вызоваSMOTENC()
.
Если в наборе данных первые 10 функций являются целочисленными, а остальные - категориальными, как мне следует выполнить процесс масштабирования в этой ситуации?