Soft vs. Hard Voting
Du hast jetzt geübt, zwei Arten von Ensemble-Methoden zu bauen: Voting und Averaging (Soft Voting). Welche ist besser? Am besten probierst du beide aus und vergleichst anschließend ihre Performance. Genau das machen wir jetzt mit dem Game-of-Thrones-Datensatz.
Drei einzelne Klassifikatoren wurden bereits für dich instanziiert:
- Ein
DecisionTreeClassifier(clf_dt). - Eine
LogisticRegression(clf_lr). - Ein
KNeighborsClassifier(clf_knn).
Deine Aufgabe ist es, sowohl Voting als auch Averaging auszuprobieren und festzustellen, was besser abschneidet.
Diese Übung ist Teil des Kurses
Ensemble-Methoden in Python
Anleitung zur Übung
- Bereite die Liste der
(string, estimator)-Tupel vor. Verwende'dt'als Label fürclf_dt,'lr'fürclf_lrund'knn'fürclf_knn. - Baue einen Voting-Klassifikator namens
clf_vote. - Baue einen Averaging-Klassifikator namens
clf_avg.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))