Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Stel de lijst van (string, estimator)-tuples samen. Gebruik 'lr' voor clf_lr, 'dt' voor clf_dt en 'svm' voor clf_svm.
  • Bouw een averaging-classifier met de naam clf_avg. Zorg dat je een argument opgeeft voor de voting-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))
Code bewerken en uitvoeren