por que precisamos lidar com o desequilíbrio de dados?

12

Preciso saber por que precisamos lidar com o desequilíbrio de dados. Eu sei como lidar com isso e métodos diferentes para resolver o problema, que é a amostragem por subida ou descida ou usando o Smote.

Por exemplo, se eu tiver uma doença rara 1% em 100, e digamos que decidi ter um conjunto de dados equilibrado para o meu conjunto de treinamento, que é: amostra 50/50 Isso não fará a máquina pensar que 50% dos pacientes terão doença? mesmo que a proporção seja 1 de 100. Então

  1. Por que precisamos lidar com o desequilíbrio de dados?
  2. Qual é a proporção recomendada para definir o equilíbrio
sara
fonte
Eu gosto dessa pergunta. Entender por que é muito importante.
dal
Consulte uma pergunta relacionada em stats.stackexchange.com/questions/312780/…
DaL

Respostas:

8

Você precisa lidar com o conjunto de dados desequilibrados quando o valor de encontrar a classe minoritária é muito maior do que o de encontrar a maioria.

Digamos que 1% da população tenha essa doença rara. Suponha que você atribua o mesmo custo a dizer que um homem saudável está doente ou a dizer que um homem doente é saudável. Forneça um modelo que diga que todos são saudáveis, obtenha 99% de precisão e volte para casa mais cedo. O problema com esse modelo é que, embora tenha alta precisão, provavelmente não será o que você está procurando. Na maioria das vezes, você deseja encontrar as pessoas com a doença (dando alto peso aos falsos negativos) muito mais do que tem medo de enviar uma pessoa saudável para testes desnecessários (baixo peso para falsos positivos). Em um problema de saúde do mundo real, a proporção entre o peso pode facilmente ser de 1 a 1.000.

O desequilíbrio na distribuição falha na maioria dos algoritmos ao encontrar uma solução adequada.

Você está certo de que apenas equilibrar a distribuição não é a solução ideal. De fato, um algoritmo treinado em uma distribuição equilibrada não se ajusta à distribuição natural na qual será avaliado. Meu método favorito é adaptá-lo de volta, como você pode ver aqui . Para uma discussão, veja aqui .

Apenas definir a proporção para outro problema não funcionará, pois você terá o mesmo problema.

O Smote está trabalhando de uma maneira diferente, o que não funcionou tão bem quando eu tentei, mas pode ser o seu problema.

DaL
fonte
Então, como eu entendo, é melhor equilibrar os dados, porque a maioria dos algoritmos funciona bem nos dados balanceados, mesmo que não caibam na distribuição natural?
Sara
Você pode elaborar mais sobre esta frase "quando seu custo de erro não se encaixa na distribuição das amostras". Eu não entendo muito bem
sara
1
Respondendo ao primeiro comentário: O conjunto de dados desequilibrados levará os algoritmos a obter bons resultados retornando a maioria. Isso será um problema se você estiver mais interessado na minoria. Portanto, o balanceamento é uma maneira de forçar o algoritmo a dar mais peso à minoria. No entanto, uma vez equilibrado, a distribuição do trem e a distribuição do teste são diferentes; portanto, você precisa adaptar seu modelo à distribuição do teste (como no método que propus).
dal
Respondendo ao segundo comentário: Na verdade, esse ponto não era muito claro. Eu editei a resposta. Está claro agora?
dal
sim, pelo que entendi, a distribuição do treinamento e do teste deve ser a mesma; portanto, não será uma solução que, depois de equilibrar meu treinamento definido na proporção 50 50, eu vá e também defina meu teste definido para 50 50?
Sara
3
  • Resposta curta:

você precisa lidar com o desequilíbrio de classe se / porque ele melhora seu modelo (em dados não vistos). "Melhor" é algo que você precisa se definir. Pode ser precisão, pode ser um custo, pode ser a verdadeira taxa positiva etc.

  • Resposta longa:

Há uma nuance sutil que é importante compreender quando se fala em desequilíbrio de classe. Ou seja, seus dados estão desequilibrados porque:

  1. a própria distribuição dos dados é desequilibrada

Em alguns casos, uma classe ocorre muito mais que a outra. E está tudo bem. Nesse caso, você deve verificar se certos erros são mais caros que outros. Este é o exemplo típico de detecção de doenças mortais em pacientes, descobrindo se alguém é terrorista etc. Isso remonta à resposta curta. Se alguns erros são mais caros que outros, convém "puni-los", dando-lhes um custo mais alto. Portanto, um modelo melhor terá um custo menor. Se todos os erros são tão ruins, não há motivo real para você usar modelos sensíveis ao custo.

Também é importante observar que o uso de modelos sensíveis a custos não é específico para conjuntos de dados desequilibrados. Você pode usar esses modelos se seus dados também estiverem perfeitamente equilibrados.

  1. não representa a verdadeira distribuição dos dados

Às vezes, seus dados são "desequilibrados" porque não representam a verdadeira distribuição dos dados. Nesse caso, você deve ter cuidado, porque você tem "muitos" exemplos de uma classe e "muito poucos" da outra e, portanto, precisa garantir que seu modelo não exagere ou desajuste em um dessas classes.

Isso é diferente de usar custos, pois pode não ser o caso de um erro ser pior que outro. O que aconteceria é que você seria tendencioso e não seria benéfico para o seu modelo se os dados invisíveis não tivessem a mesma distribuição que os dados nos quais você treinou.

Digamos que eu lhe forneça dados de treinamento e seu objetivo é adivinhar se algo é vermelho ou azul. Se você confunde azul com vermelho ou vermelho com azul não faz muita diferença. Seus dados de treinamento têm 90% de instâncias vermelhas, onde na vida real, eles acontecem apenas 10% das vezes. Você precisaria lidar com isso para melhorar seu modelo.

Valentin Calomme
fonte
Resposta muito elaborada. Você pode explicar mais com o exemplo do que você quer dizer com "Se o seu modelo é melhor porque tem um custo baixo, lide com o desequilíbrio". Por que eu deveria lidar com o desequilíbrio se o modelo tem um custo baixo?
Sara
Eu editei minha resposta um pouco, então espero que fique mais claro. O que eu quis dizer foi o seguinte: "se o seu modelo for considerado melhor quando tiver um custo baixo, e lidar com o desequilíbrio reduzir o custo, faça-o".
Valentin Calomme