Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Parâmetro 'class_weight'

Olá, um dos parâmetros que podemos utilizar nos modelos é o 'class_weight'. No exemplo da aula os dados estão desbalanceados e o usamos o SMOTE para balancear os dados. O parâmetro 'class_weight' tem alguma coisa a ver com isso? Ele pode ser usado para resolver o problema de balanceamento? Obrigado.

2 respostas
solução!

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!

Obrigado, testei aqui e foi bem interessante. Vou continuar pesquisando!