Setas: una cuestión de vida o muerte
Vamos a cerrar el curso revisitando el problema de la comestibilidad de las setas. Probarás el clasificador stacking para ver si se puede mejorar la puntuación. Como stacking usa un meta-estimador (clasificador de segunda capa) que intenta corregir las predicciones de la primera capa, algunas instancias mal clasificadas podrían corregirse. Es un problema muy importante, ya que la comestibilidad de una seta puede ser una cuestión de vida o muerte.
El conjunto de datos ya se ha cargado y dividido en entrenamiento y prueba. ¿Crees que stacking puede ayudar a predecir la comestibilidad de una seta con mayor confianza?
Este ejercicio forma parte del curso
Ensemble Methods in Python
Instrucciones del ejercicio
- Instancia los estimadores de la primera capa: un k-vecinos más cercanos con k=5 usando el algoritmo ball tree, un árbol de decisión con parámetros
min_samples_leaf = 5ymin_samples_split = 15, y un clasificador Naive Bayes gaussiano. - Construye y ajusta un clasificador stacking, usando los parámetros
classifiers(una lista que contiene los clasificadores de la primera capa) ymeta_classifier(la regresión logística predeterminada).
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Create the first-layer models
clf_knn = ____
clf_dt = ____(____, ____, random_state=500)
clf_nb = ____
# Create the second-layer model (meta-model)
clf_lr = LogisticRegression()
# Create and fit the stacked model
clf_stack = ____
clf_stack.fit(X_train, y_train)
# Evaluate the stacked model’s performance
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, clf_stack.predict(X_test))))