LoslegenKostenlos starten

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

<Kurs>Vorverarbeitung für Machine Learning in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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