Échantillonnage stratifié
Vous savez désormais que la répartition des étiquettes de classe dans la colonne category_desc du jeu de données volunteer est déséquilibrée. Si vous souhaitez entraîner un modèle pour prédire category_desc, vous devez veiller à ce qu’il soit entraîné sur un échantillon représentatif de l’ensemble du jeu de données. L’échantillonnage stratifié permet précisément d’y parvenir !
Cet exercice fait partie du cours
Prétraitement pour le Machine Learning en Python
Instructions
- Créez un DataFrame de variables explicatives,
X, avec toutes les colonnes saufcategory_desc. - Créez un DataFrame d’étiquettes,
y, à partir de la colonnecategory_desc. - Scindez
Xetyen ensembles d’entraînement et de test, en veillant à ce que la répartition des classes dans les étiquettes soit la même dans les deux ensembles. - Affichez les étiquettes et leurs effectifs dans
y_trainà l’aide de.value_counts().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)
# Create a category_desc labels dataset
y = ____[[____]]
# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)
# Print the category_desc counts from y_train
print(____[____].____)