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
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)