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
<Kurs>Ensemble-Methoden in Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)))