Pierwsze podejście do baggingu
Widziałeś już, co dzieje się w pojedynczej iteracji zespołu baggingowego. Teraz zbudujmy własny model baggingowy!
Przygotowano dla ciebie dwie funkcje:
def build_decision_tree(X_train, y_train, random_state=None):
# Pobiera próbkę z powtórzeniami,
# buduje "słabe" drzewo decyzyjne
# i dopasowuje je do zbioru treningowego
def predict_voting(classifiers, X_test):
# Generuje predykcje poszczególnych modeli
# i łączy je metodą głosowania ("Voting")
Funkcja build_decision_tree() realizuje to, co robiłeś w poprzednim ćwiczeniu. Tym razem zbudujesz wiele takich drzew, a następnie połączysz je w całość. Sprawdźmy, czy ten zespół „słabych" modeli poprawi wyniki!
To ćwiczenie jest częścią kursu
Metody zespołowe w Pythonie
Instrukcje do ćwiczenia
- Zbuduj poszczególne modele, wywołując funkcję
build_decision_tree()i przekazując jej zbiór treningowy oraz indeksijako ziarno losowości (random_state). - Przewidź etykiety zbioru testowego za pomocą funkcji
predict_voting(), przekazując listę klasyfikatorówclf_listoraz wejściowe cechy zbioru testowego.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)))