Voorspellen wie er sterft in GoT
Hoewel de doelvariabele geen missende waarden heeft, hebben andere features die wel. Omdat deze cursus niet draait om datacleaning en preprocessing, hebben we het volgende al voor je gedaan:
- NA-waarden vervangen door
0. - Negatieve leeftijden vervangen door
0. - NA-waarden voor leeftijd vervangen door het gemiddelde.
Laten we nu een ensemblemodel bouwen met de averaging-techniek. De volgende individuele modellen zijn al gebouwd:
- Logistic Regression (
clf_lr). - Decision Tree (
clf_dt). - Support Vector Machine (
clf_svm).
Omdat de target binair is, kunnen al deze modellen individueel goed presteren.
Jouw doel is om ze te combineren met averaging. Denk eraan uit de video: dit is hetzelfde als soft voting, dus je gebruikt nog steeds de VotingClassifier().
Deze oefening maakt deel uit van de cursus
Ensemblemethoden in Python
Oefeninstructies
- Stel de lijst van
(string, estimator)-tuples samen. Gebruik'lr'voorclf_lr,'dt'voorclf_dten'svm'voorclf_svm. - Bouw een averaging-classifier met de naam
clf_avg. Zorg dat je een argument opgeeft voor devoting-parameter.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)
# List of (string, estimator) tuples
estimators = ____
# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)
# Evaluate model performance
acc_avg = accuracy_score(y_test, clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))