O primă încercare de bagging
Ai văzut ce se întâmplă într-o singură iterație a unui ansamblu de tip bagging. Acum să construim un model de bagging personalizat!
Au fost pregătite două funcții pentru tine:
def build_decision_tree(X_train, y_train, random_state=None):
# Preia un eșantion cu înlocuire,
# construiește un arbore de decizie "slab",
# și îl antrenează pe setul de antrenament
def predict_voting(classifiers, X_test):
# Realizează predicțiile individuale
# și le combină prin "Voting"
Tehnic vorbind, funcția build_decision_tree() reproduce ceea ce ai făcut în exercițiul anterior. Aici vei construi mai mulți astfel de arbori și îi vei combina. Să vedem dacă acest ansamblu de modele „slabe" îmbunătățește performanța!
Acest exercițiu face parte din cursul
Metode de ansamblu în Python
Instrucțiuni pentru exercițiu
- Construiește modelele individuale apelând
build_decision_tree(), pasând setul de antrenament și indiceleica stare aleatoare. - Prezice etichetele setului de testare folosind
predict_voting(), cu lista de clasificatoriclf_listși caracteristicile de intrare din setul de testare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)))