Ein erster Versuch mit Bagging
Du hast gesehen, was in einer einzelnen Iteration eines Bagging-Ensembles passiert. Jetzt bauen wir ein eigenes Bagging-Modell!
Zwei Funktionen wurden für dich vorbereitet:
def build_decision_tree(X_train, y_train, random_state=None):
# Zieht eine Stichprobe mit Zurücklegen,
# baut einen „schwachen“ Entscheidungsbaum
# und passt ihn an den Trainingssatz an
def predict_voting(classifiers, X_test):
# Erstellt die individuellen Vorhersagen
# und kombiniert sie anschließend per „Voting“
Technisch gesehen ist die Funktion build_decision_tree() das, was du in der vorherigen Übung gemacht hast. Hier wirst du mehrere solcher Bäume bauen und sie dann kombinieren. Mal sehen, ob dieses Ensemble aus „schwachen“ Modellen die Leistung verbessert!
Diese Übung ist Teil des Kurses
Ensemble-Methoden in Python
Anleitung zur Übung
- Baue die einzelnen Modelle, indem du
build_decision_tree()aufrufst und den Trainingssatz sowie den Indexials Zufallszustand übergibst. - Sage die Labels des Testsatzes mit
predict_voting()voraus, und zwar mit der Liste der Klassifikatorenclf_listund den Test-Features als Eingabe.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Build the list of individual models
clf_list = []
for i in range(21):
weak_dt = ____
clf_list.append(weak_dt)
# Predict on the test set
pred = ____
# Print the F1 score
print('F1 score: {:.3f}'.format(f1_score(y_test, pred)))