Essa é uma pergunta em geral, não específica para nenhum método ou conjunto de dados. Como lidamos com um problema de desequilíbrio de classe no aprendizado de máquina supervisionado, em que o número de 0 é de cerca de 90% e o número de 1 é de cerca de 10% em seu conjunto de dados.
Uma das maneiras que sigo é a amostragem para equilibrar o conjunto de dados, treinar o classificador e repeti-lo para várias amostras.
Eu sinto que isso é aleatório. Existe alguma estrutura para abordar esse tipo de problema.
Isso depende muito do método de aprendizagem. A maioria das abordagens de propósito geral tem uma (ou várias) maneiras de lidar com isso. Uma correção comum é atribuir uma penalidade de classificação incorreta mais alta à classe minoritária, forçando o classificador a reconhecê-las (SVM, regressão logística, redes neurais, ...).
Alterar a amostragem também é uma possibilidade, como você mencionou. Nesse caso, a superamostragem da classe minoritária geralmente é uma solução melhor do que a subamostragem da classe majoritária.
Alguns métodos, como florestas aleatórias, não precisam de modificações.
fonte
Frequentemente, o problema não é a frequência, mas a quantidade absoluta de casos na classe minoritária. Se você não possui variação suficiente no destino quando comparado com a variação nos recursos, isso pode significar que o algoritmo não pode classificar as coisas com muita precisão.
Uma coisa é que a penalidade de classificação incorreta pode ser usada na etapa de classificação e não na etapa de estimativa de parâmetros, se houver. Alguns métodos não têm conceito de parâmetro, apenas produzem rótulos de classe ou probabilidades de classe.
Quando você possui um estimador probabilístico, pode tomar uma decisão de classificação com base em bases teóricas da informação ou na combinação de valor comercial.
fonte
Adicione dois truques: 1. use CDF, conte a frequência em seus dados de treinamento ou use uma validação muito grande (se o seu conjunto de testes não mudar, mas o conjunto de validação deve ter a mesma distribuição que o conjunto de treinamento), classifique sua previsão e obtenha primeiro X% (sua contagem da frequência anterior) para uma classe e as outras são / 2. amostra ponderada, o modelo tenderá para a classe de amostra ponderada, você pode usar a variação da amostra v. weighti = 1/2 (1- (vmax - vi) / vmax)
fonte