1
resposta

[Desafio]: outros métodos de balanceamento

from imblearn.combine import SMOTEENN

dtc = DecisionTreeClassifier(max_depth = 10)
pipeline = imbpipeline([('smoteenn', SMOTEENN()), ('arvore', dtc)])

skf = StratifiedKFold(n_splits=5, shuffle = True, random_state = 5)
cv_resultados = cross_validate(pipeline, X, y, cv=skf, scoring = 'recall')
intervalo_conf(cv_resultados)
1 resposta

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!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!