CommencezCommencez gratuitement

Éviter les déséquilibres de classe

Certaines données présentent des issues très déséquilibrées — comme un jeu de données sur une maladie rare. En fractionnant aléatoirement, vous pourriez obtenir une séparation très malchanceuse. Imaginez que toutes les observations rares se retrouvent dans l'ensemble de test et aucune dans l'entraînement. Cela compromettrait tout votre processus d'entraînement!

Heureusement, la fonction initial_split() offre une solution. Dans cet exercice, vous allez observer et corriger ces déséquilibres dits de classe.

Du code est déjà fourni pour créer un objet de fractionnement diabetes_split avec 75 % pour l'entraînement et 25 % pour le test.

Cette activité fait partie du cours

Machine Learning avec des modèles arborescents en R

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Preparation
set.seed(9888)
diabetes_split <- initial_split(diabetes, prop = 0.75)

# Proportion of 'yes' outcomes in the training data
counts_train <- table(training(___)$outcome)
prop_yes_train <- counts_train["___"] / sum(counts_train)

# Proportion of 'yes' outcomes in the test data
counts_test <- table(___)
prop_yes_test <- ___ / sum(___)

paste("Proportion of positive outcomes in training set:", round(prop_yes_train, 2))
paste("Proportion of positive outcomes in test set:", round(prop_yes_test, 2))
Modifier et exécuter le code