Olá Thales, tudo bem?
Legal sua ideia de testar seu modelo com diferentes perfis de conjuntos de teste para entender melhor seu comportamento. Neste caso, você pode usar técnicas de amostragem.
Se você deseja criar um conjunto de teste balanceado, pode usar amostragem estratificada para garantir que cada classe esteja representada proporcionalmente. Neste caso, você pode utilizar bibliotecas como o Scikit-learn em Python, que oferece a função train_test_split
com o parâmetro stratify
.
Para criar conjuntos desbalanceados, você pode realizar uma amostragem aleatória simples, mas controlando o número de amostras de cada classe que deseja incluir. Por exemplo, se quiser um conjunto onde uma classe é majoritária, basta selecionar mais amostras dessa classe.
Você pode ainda reduzir o número de amostras da classe majoritária (subamostragem) ou aumentar o número de amostras da classe minoritária (superamostragem) para criar diferentes cenários de desbalanceamento. Ferramentas como a biblioteca imbalanced-learn
oferecem métodos como RandomUnderSampler
e RandomOverSampler
.
Depois de criar esses diferentes conjuntos de teste, você pode avaliar o desempenho do seu modelo em cada um deles para obter insights.
Espero ter ajudado.
Qualquer dúvida, não hesite em compartilhar no fórum.
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado