k_neigh = min(2, sum(y_train == 1) - 1) if k_neigh >= 1: smote = SMOTE(random_state=42, k_neighbors=k_neigh) X_train_res, y_train_res = smote.fit_resample(X_train, y_train) else: print("[Warning] Insufficient minority class samples to perform SMOTE. Skipping resampling.") X_train_res, y_train_res = X_train, y_train