Mjuk vs. hård röstning
Du har nu övat på att bygga två typer av ensemblemetoder: röstning (voting) och medelvärdesberäkning (soft voting). Vilken är bäst? Det klokaste är att prova båda och sedan jämföra deras prestanda. Låt oss göra det nu med hjälp av Game of Thrones-datasetet.
Tre individuella klassificerare har redan skapats åt dig:
- En
DecisionTreeClassifier(clf_dt). - En
LogisticRegression(clf_lr). - En
KNeighborsClassifier(clf_knn).
Din uppgift är att prova både röstning och medelvärdesberäkning för att avgöra vilken som ger bäst resultat.
Den här övningen är en del av kursen
Ensemblemetoder i Python
Övningsinstruktioner
- Förbered listan med
(sträng, estimator)-tupler. Använd'dt'som etikett förclf_dt,'lr'förclf_lroch'knn'förclf_knn. - Bygg en röstningsklassificerare med namnet
clf_vote. - Bygg en medelvärdeklassificerare med namnet
clf_avg.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))