Oii Fabricio, tudo bem?
O class_weight
não tem o mesmo resultado que o SMOTE
, pois eles são métodos diferentes. Quando aplicamos o class_weight
ele modifica diretamente a função de perda que dá mais ou menos penalidade para cada classe. Já o método SMOTE
cria novos dados para a classe que está desbalanceada, utilizando a abordagem de KNN, e faz com que a classe tenha dados semelhantes.
O class_weight
é uma forma de lidar com dados desbalanceados sim, mas sobre qual é o melhor método entre eles só é possível saber testando pois em alguns casos o class_weight
pode ser melhor que o SMOTE
e vice versa.
Uma sugestão nesse caso é fazer o teste com o conjunto de dados do curso, utilizando o class_weight
. Para cada um dos modelos de ML que utilizamos em aula, você pode encontrar as recomendações de uso nas documentações do SkLearn, como por exemplo a documentação do modelo DecisionTreeClassifier.
Espero que tenha te ajudado!
Qualquer outra dúvida estou por aqui, bons estudos!