LoslegenKostenlos loslegen

Partitionierung

Um ein Modell korrekt zu bewerten, kann man die Daten in ein Train- und ein Test-Set aufteilen. Das Train-Set enthält die Daten, auf denen das Modell aufgebaut wird, und die Test-Daten werden zur Bewertung des Modells verwendet. Diese Aufteilung erfolgt zufällig, aber wenn die Zielrate niedrig ist, kann es notwendig sein zu stratifizieren, also sicherzustellen, dass Train- und Test-Daten den gleichen Prozentsatz an Zielen enthalten.

In dieser Übung teilst du die Daten mit Stratifizierung auf und überprüfst, dass Train- und Test-Daten die gleiche Zielrate haben. Die Methode train_test_split wurde bereits importiert, und die DataFrames X und y stehen dir in deinem Workspace zur Verfügung.

Diese Übung ist Teil des Kurses

Einführung in Predictive Analytics mit Python

Kurs anzeigen

Anleitung zur Übung

  • Stratifiziere diese DataFrames mit der Methode train_test_split. Achte darauf, dass Train- und Test-Set gleich groß sind und die gleiche Zielrate haben.
  • Berechne die Zielrate des Train-Sets. Das ist die Anzahl der Ziele im Train-Set geteilt durch die Anzahl der Beobachtungen im Train-Set.
  • Berechne die Zielrate des Test-Sets.

Interaktive Übung

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

# Load the partitioning module
from sklearn.model_selection import train_test_split

# Create DataFrames with variables and target
X = basetable.drop("target", 1)
y = basetable["target"]

# Carry out 50-50 partititioning with stratification
X_train, X_test, y_train, y_test = ____(X, y, test_size = ____, stratify = ____)

# Create the final train and test basetables
train = pd.concat([X_train, y_train], axis=1)
test = pd.concat([X_test, y_test], axis=1)

# Check whether train and test have same percentage targets
print(round(sum(train[____])/len(____), 2))
print(round(sum(test[____])/len(____), 2))
Code bearbeiten und ausführen