IniziaInizia gratis

Un primo tentativo di bagging

Hai visto cosa succede in una singola iterazione di un ensemble di bagging. Ora costruiamo un modello di bagging personalizzato!

Sono state preparate per te due funzioni:

def build_decision_tree(X_train, y_train, random_state=None):
    # Estrae un campione con reinserimento,
    # costruisce un albero di decisione "debole",
    # e lo adatta al training set

def predict_voting(classifiers, X_test):
    # Produce le predizioni individuali 
    # e poi le combina usando il "Voting"

Tecnicamente, la funzione build_decision_tree() è ciò che hai fatto nell'esercizio precedente. Qui costruirai più alberi di questo tipo e poi li combinerai. Vediamo se questo ensemble di modelli "deboli" migliora le prestazioni!

Questo esercizio fa parte del corso

Metodi Ensemble in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Costruisci i singoli modelli chiamando build_decision_tree(), passando il training set e l'indice i come random state.
  • Predici le etichette del test set usando predict_voting(), con la lista di classificatori clf_list e le feature di input del test.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)))
Modifica ed esegui il codice