Train/Test size and bias

Aug 31 2020

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

4 BenjiAlbert Aug 31 2020 at 07:08

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
1 Surya Aug 31 2020 at 07:07

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.

1 etiennedm Aug 31 2020 at 13:53

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 .