Classificação de teste em dados de desequilíbrio superamostrados

18

Estou trabalhando em dados gravemente desequilibrados. Na literatura, vários métodos são utilizados para reequilibrar os dados usando re-amostragem (super ou sub-amostragem). Duas boas abordagens são:

  • SMOTE: Técnica de sobre-amostragem de minorias sintéticas ( SMOTE )

  • ADASYN: Abordagem de Amostra Sintética Adaptativa para Aprendizagem Desequilibrada ( ADASYN )

Eu implementei o ADASYN devido à sua natureza adaptativa e facilidade de extensão a problemas de várias classes.

Minha pergunta é como testar os dados superamostrados produzidos pelo ADASYN (ou qualquer outro método de superamostragem). Não está claro nos dois artigos mencionados como eles realizaram seus experimentos. Existem dois cenários:

1- Superexample todo o conjunto de dados e divida-o em conjuntos de treinamento e teste (ou validação cruzada).

2- Após dividir o conjunto de dados original, realize a superamostragem apenas no conjunto de treinamento e teste no conjunto de teste de dados original (pode ser realizado com validação cruzada).

No primeiro caso, os resultados são muito melhores do que sem a amostragem excessiva, mas estou preocupado se houver ajuste excessivo. Enquanto no segundo caso, os resultados são um pouco melhores do que sem superamostragem e muito piores que o primeiro caso. Mas a preocupação com o segundo caso é que, se todas as amostras da classe minoritária forem para o conjunto de testes, nenhum benefício será alcançado com a super amostragem.

Não tenho certeza se existem outras configurações para testar esses dados.

Tarifas
fonte

Respostas:

18

Alguns comentários:

A opção (1) é uma péssima ideia. Cópias do mesmo ponto podem acabar nos conjuntos de treinamento e teste. Isso permite que o classificador trapaceie, porque ao tentar fazer previsões no conjunto de testes, o classificador já terá visto pontos idênticos no conjunto de trens. O objetivo de ter um conjunto de testes e um conjunto de trens é que o conjunto de testes deve ser independente do conjunto de trens.

k

Stefan Wager
fonte
Obrigado Stefan pela resposta. Mas quero esclarecer um ponto: os métodos que mencionei criam instâncias "sintéticas" dos dados, não exatamente iguais às do original. Portanto, não é exatamente como se eu estivesse testando nos mesmos dados de treinamento. Mas ainda não tenho certeza se a opção 1 é uma abordagem válida.
Tarifas
OK eu vejo! O problema com (1) ainda é válido, mesmo se você criar dados "sintéticos", porque os dados sintéticos geralmente são muito semelhantes aos dados originais que estão imitando.
Stefan Wager
@StefanWager, e a distribuição do conjunto de testes? Deve ser o mesmo que o conjunto de dados original?
Wannik
2
alguma referência de artigos para apoiar esta reivindicação?
girl101
@ Stefan abordagem é correta você nunca aumentar ou sintetizar o conjunto de validação porque isso é a sua prova (teste) de como o seu modelo está aprendendo, você precisa de dados originais a fazê-lo
M090009
7

A segunda (2) opção é a maneira correta de fazê-lo. As amostras sintéticas que você cria com as técnicas de superamostragem não são exemplos reais, mas sim sintéticas. Eles não são válidos para fins de teste enquanto ainda estão ok para treinamento. Eles pretendem modificar o comportamento do classificador sem modificar o algoritmo.

user53909
fonte