Soft vs. hard voting
Hai appena fatto pratica con due tipi di metodi ensemble: Voting e Averaging (soft voting). Qual è migliore? La cosa migliore è provarli entrambi e poi confrontarne le prestazioni. Facciamolo ora usando l’insieme di dati di Game of Thrones.
Tre classificatori individuali sono già stati istanziati per te:
- Un
DecisionTreeClassifier(clf_dt). - Una
LogisticRegression(clf_lr). - Un
KNeighborsClassifier(clf_knn).
Il tuo compito è provare sia voting sia averaging per capire quale funziona meglio.
Questo esercizio fa parte del corso
Metodi Ensemble in Python
Istruzioni dell'esercizio
- Prepara la lista di tuple
(string, estimator). Usa'dt'come etichetta perclf_dt,'lr'perclf_lre'knn'perclf_knn. - Crea un classificatore di voting chiamato
clf_vote. - Crea un classificatore di averaging chiamato
clf_avg.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# List of (string, estimator) tuples
estimators = ____
# Build and fit a voting classifier
clf_vote = ____
clf_vote.fit(X_train, y_train)
# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)
# Evaluate the performance of both models
acc_vote = accuracy_score(y_test, clf_vote.predict(X_test))
acc_avg = accuracy_score(y_test, clf_avg.predict(X_test))
print('Voting: {:.2f}, Averaging: {:.2f}'.format(acc_vote, acc_avg))