Rozhodovací stromy s omezeními a bez omezení
V tomto cvičení se vrátíme k datasetu Pokémon z předchozí kapitoly. Cílem je předpovědět, zda je daný Pokémon legendární, nebo ne.
Sestavíš dva samostatné klasifikátory na bázi rozhodovacího stromu. V prvním případě zadáš parametry min_samples_leaf a min_samples_split, ale neomezíš maximální hloubku stromu – ten se tak může volně rozrůst bez jakýchkoli omezení.
V druhém případě strom omezíš tím, že nastavíš maximální hloubku. Porovnáním obou modelů lépe pochopíš, co znamená „slabý" learner.
Toto cvičení je součástí kurzu
Ensemble Methods in Python
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))