Home › Fóruns › Fórum Machine Learning e Data Science com Python de A à Z › SMOTE para Bases Extremamente Desbalanceadas
- Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 10 meses, 2 semanas atrás por
Denny Ceccon.
- AutorPosts
- 7 de maio de 2024 às 16:43 #44713
Olá, eu tenho uma base com 200 amostras, sendo 199 da classe majoritária e apenas 1 da classe minoritária. Como o SMOTE usa calculo de distância, com apenas 1 registro o algoritmo não passa pelo critério k_neighbors.
Existe outra abordagem mais apropriada para esta situação?
7 de maio de 2024 às 18:08 #44715Olá Leandro,
Este é um caso muito extremo, fica impraticável treinar um algoritmo com apenas 1 exemplo de uma classe, você precisaria ter mais dados.
8 de maio de 2024 às 09:36 #44725Exato Denny, extremamento desbalanceado mesmo. Meu projeto de pesquisa do doutorado é sobre isso, já verifiquei na literatura que de fato o SMOTE e sua variantes tem limitações em cenários desta complexidade.
Só para entender o contexto, eu gerei 32 conjuntos de dados sintéticos usando a técnica de Planejamento de Experimentos (DOE) alternando fatores como: % da classe minoritária, função, erro, amostras, entre outros. Alguns ficaram com desbalanceamento na casa de 0,5% e outros 1%.
Acredito que nesses casos, como a base de 1 amostra minoritária, apenas o ROS (Random Oversampling) possa ser aplicado em conjunto com algum classificador, como Random Forest (RF) por exemplo. Só pra constar, usando ROS+RF nessa base citada consegui ACC máximo de 0,69, que levando em conta o cenário não é tão ruim assim.
Obrigado, vou deixar este post aqui para que caso alguém já tenha passado por algum exemplo próximo, possa contribuir.
8 de maio de 2024 às 10:40 #44734Obrigado Leandro, e boa sorte!
- AutorPosts
- Você deve fazer login para responder a este tópico.