Ir para conteúdo principal Pular para conteúdo complementar

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).

Duas classes perfeitamente balanceadas

Gráfico de barras com duas classes balanceadas.

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.

Exemplos de classes com balanceamento desigual

Gráfico de barras com classes que são balanceadas de forma desigual.

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.

Subamostragem da classe majoritária (azul) para obter um balanceamento igual com a classe minoritária (amarelo)

Ilustração de subamostragem.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!