- This topic has 3 replies, 2 voices, and was last updated 2 years, 2 months ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
- You must be logged in to reply to this topic.
Home › Forums › Fórum Machine Learning e Data Science com Python de A à Z › SMOTE para Bases Extremamente Desbalanceadas
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?
Olá Leandro,
Este é um caso muito extremo, fica impraticável treinar um algoritmo com apenas 1 exemplo de uma classe, você precisaria ter mais dados.
Exato 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.
Obrigado Leandro, e boa sorte!