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