Ett första försök med bagging
Du har sett vad som händer i en enskild iteration av ett bagging-ensemble. Nu ska vi bygga en egen baggingmodell!
Två funktioner har förberetts åt dig:
def build_decision_tree(X_train, y_train, random_state=None):
# Tar ett urval med återläggning,
# bygger ett "svagt" beslutsträd,
# och anpassar det till träningsdata
def predict_voting(classifiers, X_test):
# Gör de individuella förutsägelserna
# och kombinerar dem med "röstning"
Funktionen build_decision_tree() motsvarar det du gjorde i föregående övning. Här ska du bygga flera sådana träd och sedan kombinera dem. Låt oss se om detta ensemble av "svaga" modeller förbättrar prestandan!
Den här övningen är en del av kursen
Ensemblemetoder i Python
Övningsinstruktioner
- Bygg de individuella modellerna genom att anropa
build_decision_tree()och skicka in träningsdatan samt indexetisom slumptillstånd. - Förutsäg etiketterna för testdatan med
predict_voting(), med listan av klassificerareclf_listoch testdatans indatasärdrag.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)))