Eșantionare stratificată
Știi deja că distribuția etichetelor de clasă din coloana category_desc a setului de date volunteer este neuniformă. Dacă vrei să antrenezi un model care să prezică category_desc, trebuie să te asiguri că modelul este antrenat pe un eșantion reprezentativ pentru întregul set de date. Eșantionarea stratificată este o metodă care te ajută să obții exact acest lucru!
Acest exercițiu face parte din cursul
Preprocesare pentru Machine Learning în Python
Instrucțiuni pentru exercițiu
- Creează un DataFrame de caracteristici,
X, cu toate coloanele, mai puțincategory_desc. - Creează un DataFrame de etichete,
y, din coloanacategory_desc. - Împarte
Xșiyîn seturi de antrenament și de testare, asigurându-te că distribuția claselor din etichete este aceeași în ambele seturi. - Afișează etichetele și numărul lor de apariții din
y_trainfolosind.value_counts().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____[____].____)