Échantillonnage stratifié
Vous savez maintenant que la distribution des étiquettes de classe dans la colonne category_desc du jeu de données volunteer est inégale. Si vous souhaitez entraîner un modèle pour prédire category_desc, vous devez vous assurer qu'il est entraîné sur un échantillon de données représentatif de l'ensemble du jeu de données. L'échantillonnage stratifié est une bonne façon d'y arriver!
Cette activité fait partie du cours
Prétraitement pour le Machine Learning en Python
Instructions de l’exercice
- Créez un DataFrame de caractéristiques,
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 distribution des classes dans les étiquettes soit la même dans les deux ensembles. - Affichez les étiquettes et leurs décomptes dans
y_trainà l'aide de.value_counts().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____[____].____)