Alberi decisionali con e senza restrizioni
In questo esercizio riprenderemo il dataset dei Pokémon del capitolo precedente. Ricorda che l'obiettivo è prevedere se un certo Pokémon è leggendario oppure no.
Qui costruirai due classificatori ad albero decisionale separati. Nel primo specificherai i parametri min_samples_leaf e min_samples_split, ma non una profondità massima, così che l'albero possa svilupparsi completamente senza restrizioni.
Nel secondo imporrai alcune limitazioni vincolando la profondità dell'albero decisionale. Confrontando i due modelli, capirai meglio il concetto di "weak" learner.
Questo esercizio fa parte del corso
Metodi Ensemble in Python
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))