Vorhersage von GoT-Toden
Während die Zielvariable keine fehlenden Werte hat, enthalten andere Features welche. Da der Fokus des Kurses nicht auf Datenbereinigung und -vorverarbeitung liegt, haben wir die folgende Vorverarbeitung bereits für dich übernommen:
- NA-Werte durch
0ersetzt. - Negative Alterswerte durch
0ersetzt. - NA-Werte beim Alter durch den Mittelwert ersetzt.
Lass uns jetzt ein Ensemble-Modell mit der Averaging-Technik erstellen. Die folgenden Einzelmodelle wurden gebaut:
- Logistic Regression (
clf_lr). - Decision Tree (
clf_dt). - Support Vector Machine (
clf_svm).
Da das Ziel binär ist, könnten all diese Modelle einzeln bereits gut performen.
Deine Aufgabe ist es, sie per Averaging zu kombinieren. Erinner dich aus dem Video: Das entspricht dem soft Voting-Ansatz, daher solltest du weiterhin den VotingClassifier() verwenden.
Diese Übung ist Teil des Kurses
Ensemble-Methoden in Python
Anleitung zur Übung
- Richte die Liste der
(string, estimator)-Tupel ein. Verwende'lr'fürclf_lr,'dt'fürclf_dtund'svm'fürclf_svm. - Baue einen Averaging-Classifier namens
clf_avg. Achte darauf, ein Argument für den Parametervotinganzugeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))