Aan de slagGa gratis aan de slag

De boom snoeien

Overfitting is een klassiek probleem in analytics, zeker bij het decision tree-algoritme. Als de boom volledig is gegroeid, kan hij zeer nauwkeurige voorspellingen geven voor de trainingssteekproef, maar op de testset veel minder goed presteren. Daarom wordt de groei van de decision tree meestal beperkt door:

  • de boom te “snoeien” en een maximumdiepte in te stellen
  • het minimumaantal observaties in één blad van de boom te beperken.

In deze oefening ga je:

  • de boom snoeien en de groei beperken tot 5 niveaus diep
  • hem fitten op de werknemersgegevens
  • de voorspellingen testen op zowel de trainings- als de testset.

De variabelen features_train, target_train, features_test en target_test zijn al beschikbaar in je werkruimte.

Deze oefening maakt deel uit van de cursus

HR-analytics: verloop van medewerkers voorspellen in Python

Cursus bekijken

Oefeninstructies

  • Initialiseer de DecisionTreeClassifier en beperk de diepte van de boom tot 5.
  • Fit het Decision Tree-model met de features en de target in de trainingsset.
  • Controleer de nauwkeurigheid van de voorspellingen op zowel de trainings- als de testset.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren