A subamostragem (under sampling) e a sobreamostragem (oversampling) são técnicas de pré-processamento de dados usadas para lidar com conjuntos de dados desequilibrados, nos quais uma classe é representada por muito menos exemplos do que outra classe. Essa desigualdade na distribuição das classes pode levar a problemas de desempenho nos modelos de aprendizado de máquina, pois os modelos podem ficar enviesados em direção à classe majoritária, resultando em classificações incorretas da classe minoritária.
Subamostragem (Under sampling)
A subamostragem envolve a redução do número de exemplos da classe majoritária para igualar o número de exemplos da classe minoritária. Isso é feito removendo aleatoriamente exemplos da classe majoritária até que o equilíbrio seja alcançado. A ideia por trás da subamostragem é reduzir a influência da classe majoritária, tornando o conjunto de dados mais equilibrado.
Vantagens da subamostragem
- Reduz o risco de superajuste (over fitting) nos modelos.
- Pode melhorar o desempenho em conjuntos de dados muito desequilibrados.
Desvantagens da subamostragem
- Pode resultar na perda de informações valiosas ao descartar exemplos da classe majoritária.
- Pode não ser eficaz em conjuntos de dados em que a classe minoritária é muito pequena.
Sobreamostragem (Oversampling)
A sobreamostragem envolve a geração de exemplos adicionais da classe minoritária para igualar o número de exemplos da classe majoritária. Isso é feito replicando ou sintetizando dados da classe minoritária. A ideia por trás da sobreamostragem é aumentar a representação da classe minoritária, tornando o conjunto de dados mais equilibrado.
Vantagens da sobreamostragem
- Aumenta a representação da classe minoritária, tornando os modelos mais robustos.
- Pode ser mais eficaz em conjuntos de dados em que a classe minoritária é muito pequena.
Desvantagens da sobreamostragem
- Pode aumentar o risco de superajuste (over fitting) nos modelos, especialmente se a geração de dados sintéticos não for cuidadosamente controlada.
- Pode introduzir viés nos modelos se a geração de dados sintéticos não for realizada de forma apropriada.
Técnicas Comuns de Subamostragem e Sobreamostragem
Existem várias técnicas comuns para subamostragem e sobreamostragem, incluindo:
-
Tomek Links: Identifica e remove pares de exemplos (um da classe majoritária e outro da classe minoritária) que são “ligados”, ou seja, têm uma distância pequena entre si.
-
SMOTE (Synthetic Minority Over-sampling Technique): Gera exemplos sintéticos da classe minoritária interpolando características de exemplos existentes com base no cálculo da distância.
-
Subamostragem Aleatória: Aleatoriamente remove exemplos da classe majoritária até que o equilíbrio seja alcançado.
-
Sobreamostragem Aleatória: Aleatoriamente replica exemplos da classe minoritária até que o equilíbrio seja alcançado.
-
ADASYN (Adaptive Synthetic Sampling): Gera exemplos sintéticos da classe minoritária com base na densidade local de exemplos.
A escolha entre subamostragem e sobreamostragem depende do conjunto de dados específico e do problema em questão. Em alguns casos, pode ser útil experimentar ambas as abordagens e avaliar qual delas funciona melhor para o seu modelo. Além disso, é importante ter em mente que o pré-processamento de dados desequilibrados é uma etapa crítica na construção de modelos precisos em tais cenários.