Train/Test size and bias
I'm running a classifier (logistic regression). The information on my dataset are the following:
dataset size= 279 observations
(80/20 rule)
train size= 233
test size = 56
# of events in train = 31
# of events in test = 8
I think my classifier and results may be affected due to this not equal proportion. Is there any way to avoid bias issues and improve accuracy? What do you personally think of such data?
Réponses
If you're referring to the fact that your dataset is small:
- You should use k-fold cross validation. This will let you evaluate your model on all 279 instances
If you're referring to the class imbalance being 31:202 in train and 8:48 in test:
- Use AUROC and PRC to eliminate bias in thresholding
- Also see MCC
Je pense que dans le cas de telles données asymétriques, où la sortie est dépassée en nombre par l'une des classes. Le rappel serait un bon choix de mesure plutôt que de précision. Le rappel nous donne le pourcentage de la classe pertinente réellement prédit par le modèle.
Pour compléter la réponse @BenjiAlbert, en cas de jeu de données déséquilibré, il est également recommandé d'utiliser un pli k stratifié pour conserver les fréquences de classe relatives dans chaque pli. Vous pouvez trouver plus de détails dans le sklearnguide de l' utilisateur ici .