LoslegenKostenlos loslegen

Stratifizierte Stichprobe

Du weißt jetzt, dass die Verteilung der Klassenlabels in der Spalte category_desc des volunteer-Datensatzes unausgewogen ist. Wenn du ein Modell trainieren möchtest, das category_desc vorhersagt, muss das Modell auf einer Stichprobe trainiert werden, die den gesamten Datensatz gut repräsentiert. Stratifizierte Stichprobenziehung hilft dir genau dabei!

Diese Übung ist Teil des Kurses

Vorverarbeitung für Machine Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein DataFrame mit Features, X, das alle Spalten außer category_desc enthält.
  • Erstelle ein DataFrame mit Labels, y, aus der Spalte category_desc.
  • Teile X und y in Trainings- und Testsets auf und stelle sicher, dass die Klassenverteilung in den Labels in beiden Sets gleich ist.
  • Gib die Labels und ihre Häufigkeiten in y_train mit .value_counts() aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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(____[____].____)
Code bearbeiten und ausführen