Förutsäga dödsfall i GoT
Målvariabeln saknar visserligen inga värden, men det gör däremot andra särdrag. Eftersom kursen inte fokuserar på datarensning och förbearbetning har vi redan gjort följande åt dig:
- Ersatt NA-värden med
0. - Ersatt negativa åldersvärden med
0. - Ersatt NA-värden för ålder med medelvärdet.
Nu ska du bygga en ensemblemodell med averaging-tekniken. Följande individuella modeller har redan byggts:
- Logistisk regression (
clf_lr). - Beslutsträd (
clf_dt). - Support Vector Machine (
clf_svm).
Eftersom målvariabeln är binär kan alla dessa modeller ha god individuell prestanda. Ditt mål är att kombinera dem med averaging. Som du såg i videon är detta detsamma som ett mjukt röstningsförfarande (soft voting), så du ska fortfarande använda VotingClassifier().
Den här övningen är en del av kursen
Ensemblemetoder i Python
Övningsinstruktioner
- Skapa listan med
(sträng, estimator)-tupler. Använd'lr'förclf_lr,'dt'förclf_dtoch'svm'förclf_svm. - Bygg en averaging-klassificerare med namnet
clf_avg. Se till att ange ett argument för parameternvoting.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))