Oi, Luan! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Sua combinação entre SMOTEENN e DecisionTreeClassifier ficou bem estruturada dentro do Pipeline, e isso garante que cada etapa seja aplicada somente nos dados de treino de cada fold.
Uma dica interessante para o futuro é explorar o metodo SMOTETomek, que combina oversampling e limpeza das fronteiras entre as classes. Veja este exemplo:
from imblearn.combine import SMOTETomek
smt = SMOTETomek()
X_res, y_res = smt.fit_resample(X, y)
print("Novas formas:", X_res.shape, y_res.shape)
Esse codigo tenta melhorar as zonas de decisao removendo pares Tomek e gerando amostras sinteticas ao mesmo tempo.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!