První pokus o bagging
Viděl/a jsi, co se děje v jedné iteraci baggingového ensemblu. Teď pojďme sestavit vlastní baggingový model!
Byla pro tebe připravena dvě funkce:
def build_decision_tree(X_train, y_train, random_state=None):
# Vezme vzorek s opakováním,
# sestaví "slabý" rozhodovací strom
# a natrénuje ho na trénovací sadě
def predict_voting(classifiers, X_test):
# Provede jednotlivé předpovědi
# a zkombinuje je pomocí hlasování ("Voting")
Funkce build_decision_tree() dělá technicky to samé, co jsi dělal/a v předchozím cvičení. Tady ale sestavíš hned několik takových stromů a pak je zkombinuješ. Podíváme se, jestli tento ensemble „slabých" modelů zlepší výkon!
Toto cvičení je součástí kurzu
Ensemble Methods in Python
Pokyny k cvičení
- Sestav jednotlivé modely voláním funkce
build_decision_tree()a předej jí trénovací sadu a indexijako random state. - Předpověz štítky testovací sady pomocí
predict_voting(), přičemž jí předej seznam klasifikátorůclf_lista vstupní příznaky testovací sady.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)))