Prezicerea morților din GoT
Deși variabila țintă nu conține valori lipsă, alte caracteristici au. Deoarece cursul nu se concentrează pe curățarea și preprocesarea datelor, am realizat deja următoarele operații de preprocesare:
- Am înlocuit valorile NA cu
0. - Am înlocuit valorile negative ale vârstei cu
0. - Am înlocuit valorile NA ale vârstei cu media.
Acum să construim un model ansamblu folosind tehnica de averaging. Următoarele modele individuale au fost deja antrenate:
- Regresie logistică (
clf_lr). - Arbore de decizie (
clf_dt). - Mașină cu vectori suport (
clf_svm).
Deoarece variabila țintă este binară, toate aceste modele pot avea o performanță individuală bună.
Obiectivul tău este să le combini folosind averaging. Reamintește-ți din video că această abordare este echivalentă cu votul de tip soft, deci vei folosi în continuare VotingClassifier().
Acest exercițiu face parte din cursul
Metode de ansamblu în Python
Instrucțiuni pentru exercițiu
- Creează lista de tupluri
(string, estimator). Folosește'lr'pentruclf_lr,'dt'pentruclf_dtși'svm'pentruclf_svm. - Construiește un clasificator de tip averaging numit
clf_avg. Asigură-te că specifici un argument pentru parametrulvoting.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))