Predecir muertes en GoT
Aunque la variable objetivo no tiene valores ausentes, otras características sí los tienen. Como el objetivo del curso no es la limpieza ni el preprocesamiento de datos, ya hemos realizado por ti el siguiente preprocesamiento:
- Sustituir los valores NA por
0. - Sustituir los valores negativos de la edad por
0. - Sustituir los valores NA de la edad por la media.
Ahora vamos a construir un modelo en ensamblado usando la técnica de promedio (averaging). Se han creado los siguientes modelos individuales:
- Regresión logística (
clf_lr). - Árbol de decisión (
clf_dt). - Support Vector Machine (
clf_svm).
Como la variable objetivo es binaria, es posible que todos estos modelos tengan buen rendimiento individual.
Tu objetivo es combinarlos usando promediado. Recuerda del vídeo que esto equivale a un enfoque de votación blanda (soft), así que debes seguir usando VotingClassifier().
Este ejercicio forma parte del curso
Ensemble Methods in Python
Instrucciones del ejercicio
- Crea la lista de tuplas
(string, estimator). Usa'lr'paraclf_lr,'dt'paraclf_dty'svm'paraclf_svm. - Construye un clasificador de promedio llamado
clf_avg. Asegúrate de especificar un argumento para el parámetrovoting.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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))