Drzewa decyzyjne z ograniczeniami i bez ograniczeń
W tym ćwiczeniu wrócimy do zbioru danych o Pokémonach z poprzedniego rozdziału. Przypomnij sobie, że celem jest przewidzenie, czy dany Pokémon jest legendarny.
Zbudujesz dwa oddzielne klasyfikatory oparte na drzewach decyzyjnych. W pierwszym podasz parametry min_samples_leaf i min_samples_split, ale nie określisz maksymalnej głębokości – dzięki temu drzewo będzie mogło rozwijać się bez żadnych ograniczeń.
W drugim wprowadzisz ograniczenia, ustalając maksymalną głębokość drzewa decyzyjnego. Porównując oba modele, lepiej zrozumiesz pojęcie „słabego" modelu uczącego.
To ćwiczenie jest częścią kursu
Metody zespołowe w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Build unrestricted decision tree
clf = ____
clf.fit(X_train, y_train)
# Predict the labels
pred = clf.predict(X_test)
# Print the confusion matrix
cm = confusion_matrix(y_test, pred)
print('Confusion matrix:\n', cm)
# Print the F1 score
score = f1_score(y_test, pred)
print('F1-Score: {:.3f}'.format(score))