Aan de slagGa gratis aan de slag

Een eerste poging tot bagging

Je hebt gezien wat er gebeurt in één iteratie van een bagging-ensemble. Nu ga je een eigen baggingmodel bouwen!

Er zijn twee functies voor je klaargezet:

def build_decision_tree(X_train, y_train, random_state=None):
    # Neemt een steekproef met terugleggen,
    # bouwt een "zwakke" beslissingsboom,
    # en past deze op de trainingsset

def predict_voting(classifiers, X_test):
    # Maakt de individuele voorspellingen 
    # en combineert die vervolgens met "Voting"

Technisch gezien is de functie build_decision_tree() wat je in de vorige oefening deed. Hier bouw je meerdere van zulke bomen en combineer je ze daarna. Eens kijken of dit ensemble van "zwakke" modellen de prestaties verbetert!

Deze oefening maakt deel uit van de cursus

Ensemblemethoden in Python

Cursus bekijken

Oefeninstructies

  • Bouw de individuele modellen door build_decision_tree() aan te roepen en de trainingsset en de index i als random state door te geven.
  • Voorspel de labels van de testset met predict_voting(), met de lijst van classifiers clf_list en de invoer-testfeatures.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)))
Code bewerken en uitvoeren