Gestratificeerde steekproef
Je weet nu dat de verdeling van klasselabels in de kolom category_desc van de volunteer-gegevensset ongelijk is. Als je een model wilt trainen om category_desc te voorspellen, moet je ervoor zorgen dat het model wordt getraind op een steekproef die representatief is voor de hele gegevensset. Gestratificeerde steekproeven zijn een manier om dit te bereiken!
Deze oefening maakt deel uit van de cursus
Preprocessing voor Machine Learning in Python
Oefeninstructies
- Maak een DataFrame met features,
X, met alle kolommen behalvecategory_desc. - Maak een DataFrame met labels,
y, uit de kolomcategory_desc. - Splits
Xenyin training- en testsets en zorg ervoor dat de klassenverdeling in de labels in beide sets hetzelfde is. - Print de labels en aantallen in
y_trainmet.value_counts().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(____[____].____)