Antes de mais, gostaria de descrever alguns layouts comuns que os livros de Data Mining usam para explicar como lidar com conjuntos de dados não balanceados . Normalmente, a seção principal é denominada Conjuntos de dados não balanceados e abrange estas duas subseções: Classificação sensível ao custo e técnicas de amostragem.
Parece que, enfrentando um problema com uma classe rara, é possível executar tanto a classificação quanto a amostragem sensíveis ao custo. Em vez disso, acho que se deve aplicar técnicas sensíveis ao custo se a classe rara também for o alvo da classificação e uma classificação incorreta de um registro dessa classe for cara.
Por outro lado, técnicas de amostragem, como sobre e subamostragem, são úteis se o objetivo da classificação for uma boa precisão geral, sem focar em uma classe específica.
Essa crença vem do raciocínio do MetaCost, que é uma maneira geral de tornar um classificador sensível aos custos: se alguém quiser tornar um classificador sensível aos custos, a fim de penalizar um erro de classificação incorreta da rara classe, ele deve sobrepor a outra classe. . Grosso modo, o classificador tenta se adaptar à outra classe e se torna específico para a classe rara.
É o oposto de fazer uma amostragem excessiva da classe rara, que é a maneira geralmente sugerida para lidar com esse problema. A sobre-amostragem da classe rara ou a sub-amostragem da outra classe é útil para melhorar a precisão geral.
Por favor, seria ótimo se você confirmasse meus pensamentos.
Dito isso, a pergunta comum que um conjunto de dados desequilibrado é:
Devo tentar obter um conjunto de dados que conte tantos registros raros quanto os outros?
Minha resposta seria, caso você esteja procurando por precisão: OK. Você pode executá-lo descobrindo exemplos de classe mais raros ou excluindo alguns registros da outra classe.
Caso você esteja se concentrando na classe rara, com uma técnica sensível aos custos, eu responderia: você só pode descobrir exemplos de classe mais raros, mas não deve excluir registros da outra classe. No último caso, você não poderá permitir que o classificador se adapte à outra classe e o raro erro de classificação incorreta da classe poderá aumentar.
O que você responderia?
Respostas:
É uma boa pergunta. Pessoalmente, minha resposta seria que nunca faz sentido jogar fora os dados (a menos que seja por razões computacionais), quanto mais dados você tiver, melhor será o seu modelo de mundo. Portanto, sugiro que a modificação da função de custo da maneira apropriada para sua tarefa seja suficiente. Por exemplo, se você estiver interessado em uma classe rara específica, poderá tornar as classificações incorretas dessa classe apenas mais caras; se você estiver interessado em uma medida equilibrada, algo como Taxa de Erro Balanceado (a média dos erros em cada classe) ou o Coeficiente de Correlação de Matthews é apropriado; se você estiver interessado apenas no erro de classificação geral, a perda tradicional de 0-1 .
Uma abordagem moderna para o problema é usar o Active Learning. Por exemplo, Hospedales et al (2011) "Encontrando Classes Raras: Aprendizado Ativo com Modelos Generativos e Discriminativos, Transações IEEE sobre Engenharia de Conhecimento e Dados (TKDE 2011) . No entanto, acredito que essas abordagens ainda sejam relativamente menos maduras.
fonte