Remover duplicatas do conjunto de treinamento para classificação

9

Digamos que eu tenha várias linhas para um problema de classificação:

X1,...XN,Y

Onde são os recursos / preditores e é a classe à qual a combinação de recursos da linha pertence.X1,...,XNY

Muitas combinações de recursos e suas classes são repetidas no conjunto de dados, que estou usando para ajustar um classificador. Eu só estou querendo saber se é aceitável remover duplicatas (eu basicamente executo um group by X1 ... XN Yem SQL)? Obrigado.

PS:

Isto é para um conjunto de dados de presença binária apenas onde os anteriores da classe são bastante distorcidos

cs0815
fonte

Respostas:

13

Não, não é aceitável. As repetições são o que fornecem o peso da evidência.

Se você remover suas duplicatas, um trevo de quatro folhas é tão significativo quanto um trevo regular de três folhas, pois cada um ocorrerá uma vez, enquanto na vida real há um trevo de quatro folhas para cada 10.000 trevos regulares.

Mesmo que seus priores sejam "bastante distorcidos", como você diz, o objetivo do conjunto de treinamento é acumular experiências da vida real, que você não obterá se perder as informações de frequência.

Carlos Accioly
fonte
1

Concordo com a resposta anterior, mas aqui estão minhas reservas. É recomendável remover duplicatas enquanto segregam amostras para treinamento e teste para classificadores específicos , como Árvores de Decisão. Digamos, 20% dos seus dados pertencem a uma classe específica e daqueles inseridos no teste, então algoritmos como o Decision Trees criarão gateways para essa classe com as amostras duplicadas. Isso pode fornecer resultados enganosos no conjunto de testes, porque essencialmente existe um gateway muito específico para a saída correta.14th

Quando você implanta esse classificador em dados completamente novos, ele pode ter um desempenho surpreendentemente ruim se não houver amostras semelhantes às amostras de 20% acima mencionadas.

Argumento : Pode-se argumentar que essa situação aponta para um conjunto de dados defeituoso, mas acho que isso é verdadeiro para aplicativos da vida real.

A remoção de duplicatas para redes neurais, modelos bayesianos etc. não é aceitável.

Rakshit Kothari
fonte
Outra solução viável seria ponderar as duplicatas com base na frequência de ocorrência.
Rakshit Kothari