En uno de mis cursos de Aprendizaje Automático tengo que encontrar el mejor predictor para este conjunto de datos y su objetivo binario "Caesarian".
En primer lugar, traté de mejorar los datos : hay pocas características. Hice One-Hot-Encoding en :
- Tiempo de entrega
- Presión arterial
- Problema del corazón (ya hecho en la base de datos como binario)
He normalizado mis datos para las columnas Edad y Número de entrega.
Luego hice k-fold con Random Forests, Naive Bayes, GLM y algún otro, probé varios k para el k-fold, $k\in \{1,2,3,6,8,16\}$ y me sorprendió mucho el escaso rendimiento de las predicciones de Naive Bayes (más del 30% de error de media para el pliegue k, independientemente de k) y, sobre todo, me sorprendió mucho que RandomForest cometiera un error del 40% de media, independientemente de k $k$ y con diferentes valores para el número de árboles, desde decenas hasta miles, y también diferentes valores para el número de variables muestreadas ramamente como candidatas en cada división.
Probé con Leave-One-Out para calcular el error, y es lo mismo, el modelo Naive Bayes es bastante malo, y todavía sorprendentemente, el Random Forest es peor que Naive Bayes.
¿Hay algo que se me haya escapado? Puedo entender que Naive Bayes puede tener un mal rendimiento de clasificación, ya que realmente depende de los datos y es un clasificador muy débil, pero ¿qué pasa con RandomForest?
Así que dos preguntas ahora :
- ¿No se supone que los bosques aleatorios tienen un mejor rendimiento?
- ¿Qué puedo hacer para mejorarlos o al menos entender por qué es tan malo?
Aquí están los boxplots del MSE que obtuve para un 6-fold :
Nota : Todavía no he intentado optimizar el embolsado