CommencerCommencer gratuitement

É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

Afficher le cours

Instructions

  • Créez un DataFrame de variables explicatives, X, avec toutes les colonnes sauf category_desc.
  • Créez un DataFrame d’étiquettes, y, à partir de la colonne category_desc.
  • Scindez X et y en 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(____[____].____)
Modifier et exécuter le code