LoslegenKostenlos loslegen

Klassen ausbalancieren

Das kann die Vorhersageergebnisse deutlich beeinflussen, wie der Unterschied zwischen recall- und accuracy-Werten zeigt. Um das Ungleichgewicht zu beheben, vergibt man üblicherweise gleiche Gewichte für jede Klasse. Mit dem Argument class_weight in sklearn’s DecisionTreeClassifier kann man die Klassen auf "balanced" setzen.

Lass uns unser Modell korrigieren, indem wir das Klassenungleichgewicht beheben:

  • zuerst richtest du ein Modell mit ausbalancierten Klassen ein
  • dann passt du es an die Trainingsdaten an
  • zum Schluss prüfst du seine Genauigkeit auf dem Test-Set

Die Variablen features_train, target_train, features_test und target_test sind bereits in deinem Workspace verfügbar.

Diese Übung ist Teil des Kurses

HR Analytics: Mitarbeiterfluktuation mit Python vorhersagen

Kurs anzeigen

Anleitung zur Übung

  • Initialisiere den Decision Tree Classifier, prune deinen Baum, indem du seine maximale Tiefe auf 5 begrenzt, und gleiche die Klassen-Gewichte aus.
  • Fitte das neue Modell.
  • Gib die score-Genauigkeit der Vorhersage (in Prozentpunkten) für das Test-Set aus.

Interaktive Übung

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

# Initialize the DecisionTreeClassifier 
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)

# Fit the model
model_depth_5_b.____(features_train,target_train)

# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)
Code bearbeiten und ausführen