¿Debería realmente comer ese hongo?

¿Debería comer ese hongo?

Clasificación de setas comestibles y venenosas con árboles de decisión impulsados por gradiente de CatBoost

La mayoría de los conjuntos de datos educativos y del mundo real contienen características categóricas. Hoy cubriremos árboles de decisión impulsados por gradiente de la biblioteca CatBoost, que proporciona soporte nativo para datos categóricos. Utilizaremos un conjunto de datos de setas que son comestibles o venenosas. Las setas se describen por características categóricas como su color, olor y forma, y la pregunta que queremos responder es:

¿Es seguro comer esta seta, basándonos en sus características categóricas?

Como puedes ver, las apuestas son altas. Queremos asegurarnos de que obtenemos el modelo de aprendizaje automático correcto para que nuestra tortilla de setas no termine en un desastre. Como bonificación, al final proporcionaremos una clasificación de importancia de características que te dirá qué característica categórica es el predictor más fuerte de la seguridad de las setas.

Foto de Andrew Ridley en Unsplash

Presentación del conjunto de datos de setas

El conjunto de datos de setas está disponible aquí: https://archive.ics.uci.edu/dataset/73/mushroom [1]. Para mayor claridad en la presentación, creamos un DataFrame de pandas a partir de las variables originales en forma abreviada y lo anotamos con nombres de columnas adecuados y variables en forma larga. Utilizamos la función replace de pandas con variables en forma larga tomadas de la descripción del conjunto de datos. La variable objetivo solo puede tomar valores True y False: los creadores del conjunto de datos se aseguraron y clasificaron las setas cuestionables como no comestibles.

Después de verificar el conjunto de datos en busca de valores faltantes, encontramos que solo una columna, stalk_root, se ve afectada. Eliminamos esta columna.

La exploración del conjunto de datos revela que los datos están bastante equilibrados: De las 8124 setas, 4208 son…