Balanceamento de classe
Em um problema de classificação binária, pode haver mais dados coletados para uma das duas classes. Esse equilíbrio desigual entre as classes leva o modelo a aprender mais sobre a classe majoritária do que sobre a classe minoritária. Você pode usar o balanceamento de classe para melhorar o modelo.
O que é balanceamento de classe
Em um conjunto de dados para classificação binária, existem duas classes. Balanceamento de classe é a frequência relativa dessas classes.
Se você jogar uma moeda perfeitamente aleatória várias vezes, obterá um conjunto perfeitamente balanceado de duas classes (cara e coroa). O valor médio da classe é 0,5 em um caso perfeitamente balanceado (em que uma classe é 1 e a outra é 0).
Em muitos casos, o balanceamento de classe não será igual. Isso pode levar o modelo a aprender mais sobre a classe majoritária do que sobre a classe minoritária.
Viés proporcional
Um modelo pode ser muito preciso ao adivinhar a classe majoritária em dados não balanceados. Por exemplo, se 95% dos visitantes do site não fizerem uma compra, um modelo pode ser 95% preciso ao dizer que ninguém comprará. O modelo aprende sobre a classe majoritária, mas geralmente é mais importante aprender sobre a classe minoritária. Por exemplo, por que os outros 5% dos visitantes do site fazem compras?
Efeitos do balanceamento de classe
Ao executar o balanceamento de classe em seus dados, você pode obter um modelo mais focado em recursos e que aprendeu mais sobre a classe minoritária. Os efeitos potenciais sobre o modelo incluem:
-
Pontuação F1 mais alta porque o peso da classe minoritária aumentou.
-
Pontuação de exatidão geral ligeiramente mais baixa porque não depende tanto do viés proporcional.
-
Um modelo mais informativo porque depende mais dos recursos e como distinguir as classes como sendo separadas. Os valores SHAP podem ser mais informativos em um modelo com balanceamento de classe.
Observe que em pequenos conjuntos de dados, o balanceamento de classe pode causar perda de dados de recursos. Além disso, ao alterar as proporções no conjunto de dados, algumas informações podem ser perdidas, o que pode influenciar as previsões do modelo.
Como balancear a classe
Para balancear os dados de classe, primeiro você precisa descobrir qual é o balanceamento ideal para seu caso de negócios específico. Em qualquer lugar de 80/20 a 50/50 pode ser necessário. Balanceie apenas o suficiente para obter o que você precisa porque o ajuste excessivo do balanceamento de classe pode levar a um modelo de sobreajuste. Em seguida, teste o modelo com retenções manuais.
O método mais comum para balanceamento de classe é a subamostragem. Isso é feito por amostragem aleatória da classe majoritária, de modo que ela fique em melhor balanceamento com a classe minoritária. A figura ilustra como as amostras são retiradas da classe majoritária no conjunto de dados original para obter um conjunto de dados com classes balanceadas.