Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz DataFrame cech, X, zawierający wszystkie kolumny oprócz category_desc.
  • Utwórz DataFrame etykiet, y, na podstawie kolumny category_desc.
  • Podziel X i y na 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(____[____].____)
Edytuj i uruchom kod