Zacznij terazZacznij za darmo

Przycinanie drzewa

Przeuczenie (overfitting) to klasyczny problem w analityce, szczególnie w przypadku algorytmu drzewa decyzyjnego. W pełni wyrośnięte drzewo może dawać bardzo dokładne przewidywania dla zbioru treningowego, ale znacznie gorsze dla zbioru testowego. Dlatego wzrost drzewa decyzyjnego jest zazwyczaj kontrolowany przez:

  • „Przycinanie" drzewa i ograniczanie maksymalnej głębokości, do jakiej może rosnąć.
  • Ograniczanie minimalnej liczby obserwacji w jednym liściu drzewa.

W tym ćwiczeniu:

  • przytniesz drzewo i ograniczysz jego wzrost do 5 poziomów głębokości,
  • dopasujesz je do danych pracowniczych,
  • przetestujesz wyniki przewidywań na zbiorach treningowym i testowym.

Zmienne features_train, target_train, features_test i target_test są już dostępne w twoim środowisku pracy.

To ćwiczenie jest częścią kursu

HR Analytics: Przewidywanie rotacji pracowników w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj DecisionTreeClassifier, ograniczając głębokość drzewa do 5.
  • Dopasuj model drzewa decyzyjnego, używając cech (features) i zmiennej docelowej (target) ze zbioru treningowego.
  • Sprawdź dokładność przewidywań na obu zbiorach – treningowym i testowym.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod