Próbkowanie warstwowe
Wiesz już, że rozkład etykiet klas w kolumnie category_desc zbioru danych volunteer jest nierównomierny. Jeśli chcesz wytrenować model do przewidywania wartości category_desc, musisz zadbać o to, by model był trenowany na próbce danych reprezentatywnej dla całego zbioru. Próbkowanie warstwowe to skuteczny sposób, aby to osiągnąć!
To ćwiczenie jest częścią kursu
Preprocessing w uczeniu maszynowym w Pythonie
Instrukcje do ćwiczenia
- Utwórz DataFrame cech,
X, zawierający wszystkie kolumny opróczcategory_desc. - Utwórz DataFrame etykiet,
y, na podstawie kolumnycategory_desc. - Podziel
Xiyna zbiór treningowy i testowy, dbając o to, by rozkład klas w etykietach był taki sam w obu zbiorach. - Wyświetl etykiety i ich liczebności w
y_train, używając metody.value_counts().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____[____].____)