Den Baum beschneiden
Overfitting ist ein klassisches Problem in der Analytics, besonders beim Decision-Tree-Algorithmus. Ist der Baum vollständig gewachsen, kann er auf der Trainingsstichprobe sehr genaue Vorhersagen liefern, auf dem Testsatz aber deutlich schlechter abschneiden. Deshalb wird das Wachstum von Entscheidungsbäumen üblicherweise gesteuert durch:
- das „Beschneiden“ des Baums und das Setzen einer Obergrenze für die maximale Tiefe
- das Begrenzen der minimalen Anzahl von Beobachtungen in einem Blatt des Baums
In dieser Übung wirst du:
- den Baum beschneiden und sein Wachstum auf 5 Ebenen Tiefe begrenzen
- ihn an die Mitarbeiterdaten anpassen
- die Vorhersageergebnisse sowohl auf dem Training- als auch auf dem Testsatz prüfen.
Die Variablen features_train, target_train, features_test und target_test stehen dir bereits in deinem Workspace zur Verfügung.
Diese Übung ist Teil des Kurses
HR Analytics: Mitarbeiterfluktuation mit Python vorhersagen
Anleitung zur Übung
- Initialisiere den
DecisionTreeClassifierund begrenze die Tiefe des Baums auf 5. - Fitte das Decision-Tree-Modell mit den
featuresund demtargetim Trainingssatz. - Prüfe die Genauigkeit der Vorhersagen sowohl auf dem Trainings- als auch auf dem Testsatz.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Initialize the DecisionTreeClassifier while limiting the depth of the tree to 5
model_depth_5 = DecisionTreeClassifier(____=5, random_state=42)
# Fit the model
____.fit(features_train,target_train)
# Print the accuracy of the prediction for the training set
print(____.____(features_train,target_train)*100)
# Print the accuracy of the prediction for the test set
print(model_depth_5.score(____,____)*100)