Oi, Gediel, tudo bem?
Desculpe a demora em te responder!
Lidar com desbalanceamento de classes é uma preocupação importante ao trabalhar com problemas de classificação, e você está certo em considerar boas práticas para lidar com isso. A escolha de equilibrar ou não as classes antes de aplicar métodos de seleção de recursos, como o SelectKBest, pode depender da natureza do problema e de suas preferências. Algumas abordagens estão abaixo:
Balanceamento antes da seleção de recursos: primeiro, você pode equilibrar as classes usando técnicas de oversampling (aumentando o número de instâncias da classe minoritária) ou undersampling (diminuindo o número de instâncias da classe majoritária). Isso pode ajudar a evitar que o modelo seja tendencioso em direção à classe majoritária. Após o balanceamento, você pode aplicar técnicas de seleção de recursos, como SelectKBest ou outras, para identificar as melhores características do conjunto de dados equilibrado.
Seleção de recursos antes do balanceamento: outra abordagem é realizar a seleção de recursos antes de equilibrar as classes. Isso pode ser benéfico se você deseja reduzir a dimensionalidade do conjunto de dados antes de aplicar técnicas de balanceamento, o que pode economizar tempo de computação. No entanto, observe que a seleção de recursos em um conjunto de dados desbalanceado pode levar a resultados nçao tão bons, uma vez que o modelo pode ser influenciado pelas classes majoritárias.
Balanceamento e seleção de recursos iterativos: uma abordagem mais avançada é realizar o balanceamento e a seleção de recursos de forma iterativa. Você pode começar com um conjunto de dados desbalanceado, realizar a seleção de recursos e, em seguida, balancear as classes. Em seguida, você pode repetir esse processo várias vezes, ajustando o conjunto de recursos a cada iteração até obter um modelo satisfatório.
A escolha entre essas abordagens depende de vários fatores, como o tamanho do conjunto de dados, a disponibilidade de recursos computacionais e a importância relativa das características. Experimente diferentes estratégias e avalie o desempenho do modelo usando validação cruzada ou outras métricas apropriadas para o seu problema.
Lembre-se de que, ao realizar oversampling ou undersampling, é importante fazê-lo apenas no conjunto de treinamento, não no conjunto de teste, para evitar vazamento de informações.
Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum!
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!