Przewidywanie śmierci w GoT
Zmienna docelowa nie zawiera brakujących wartości, jednak inne cechy już tak. Ponieważ kurs nie skupia się na czyszczeniu i przetwarzaniu danych, wykonaliśmy już następujące kroki wstępne:
- Zastąpiono wartości NA przez
0. - Zastąpiono ujemne wartości wieku przez
0. - Zastąpiono wartości NA wieku średnią.
Teraz zbudujemy model zespołowy z użyciem techniki uśredniania. Przygotowano następujące modele indywidualne:
- Regresja logistyczna (
clf_lr). - Drzewo decyzyjne (
clf_dt). - Maszyna wektorów nośnych (
clf_svm).
Ponieważ zmienna docelowa jest binarna, każdy z tych modeli może osiągać dobre wyniki samodzielnie.
Twoim zadaniem jest połączenie ich za pomocą uśredniania. Jak wyjaśniono w filmie, jest to równoważne podejściu głosowania miękkiego (ang. soft voting), dlatego nadal należy użyć VotingClassifier().
To ćwiczenie jest częścią kursu
Metody zespołowe w Pythonie
Instrukcje do ćwiczenia
- Utwórz listę krotek
(string, estymator). Użyj'lr'dlaclf_lr,'dt'dlaclf_dtoraz'svm'dlaclf_svm. - Zbuduj klasyfikator uśredniający o nazwie
clf_avg. Pamiętaj, aby podać odpowiedni argument dla parametruvoting.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))