Una vez entrenados ambos modelos, el siguiente paso es comparar su rendimiento lado a lado, interpretar qué significa la diferencia de accuracy en el contexto de este dataset y extraer criterios prácticos para decidir cuál desplegar en producción. Esta página cubre cómo construir la comparativa visualmente, cómo leer cada escenario posible de resultados y qué factores más allá de la accuracy deben guiar la elección en un entorno real.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/HelenDiMo/pildora-bootcamp-preprocesamiento/llms.txt
Use this file to discover all available pages before exploring further.
Generación de la comparativa
El siguiente código, extraído de la Sección 7 de la aplicación Streamlit, recoge las accuracies ya calculadas de ambos modelos y las representa en una gráfica de barras:rf_acc y xgb_acc son los valores calculados previamente con accuracy_score en las secciones 5 y 6 respectivamente. El eje y se fija entre 0 y 1 para mantener la escala consistente independientemente de los valores exactos obtenidos.
Interpretación de resultados
El resultado de la comparativa cae en uno de tres escenarios. Expande el que corresponda a tu ejecución:XGBoost supera a Random Forest
XGBoost supera a Random Forest
XGBoost tiende a obtener una accuracy superior cuando existen relaciones no lineales complejas, ruido leve en los datos o interacciones fuertes entre variables. El proceso secuencial de boosting captura sutilezas morfológicas — como la relación entre la longitud y la profundidad del pico de cada especie — que un ensemble paralelo puede pasar por alto.En este escenario, los árboles sucesivos de XGBoost han corregido iterativamente los casos mal clasificados por los anteriores, acumulando una capacidad predictiva superior. Considera validar con
cross_val_score para confirmar que la ventaja es consistente y no un artefacto del split concreto.Random Forest supera a XGBoost
Random Forest supera a XGBoost
Random Forest tiende a ganar en datasets pequeños y bien separados con fronteras de decisión estables, como ocurre frecuentemente con Palmer Penguins. El ensemble por promediado es suficiente para clasificar correctamente las tres especies sin necesidad de la complejidad adicional del boosting secuencial.En este escenario, la robustez inherente de Random Forest — que no requiere un ajuste crítico de
learning_rate ni max_depth — resulta ser una ventaja. El modelo es más estable y menos propenso al sobreajuste cuando los datos son limpios y las clases están bien diferenciadas.Empate entre ambos modelos
Empate entre ambos modelos
Cuando ambos modelos alcanzan la misma accuracy, el dataset tiene fronteras de clase limpias que cualquiera de las dos arquitecturas captura óptimamente. Ni el boosting ni el promediado tienen una ventaja significativa porque el problema es suficientemente sencillo.En este caso, la elección entre modelos debe basarse en criterios secundarios: velocidad de inferencia, facilidad de despliegue, requisitos de explicabilidad o tiempo de entrenamiento disponible. Consulta la guía de decisión para producción a continuación.
Guía de decisión para producción
Más allá de la accuracy sobre este dataset concreto, otros factores determinan qué modelo es más adecuado para un entorno productivo:| Criterio | Random Forest | XGBoost |
|---|---|---|
| Tamaño del dataset | Pequeño-mediano | Mediano-grande |
| Velocidad de inferencia | Más rápido | Ligeramente más lento |
| Ajuste de hiperparámetros | Robusto, menos necesario | Más sensible, más importante |
| Explicabilidad | Feature importances simples | SHAP values recomendados |
| Despliegue | Muy simple (joblib) | Requiere joblib o ONNX para portabilidad óptima |
Validación cruzada recomendada
Antes de tomar una decisión definitiva, valida ambos modelos con validación cruzada estratificada de 5 folds para obtener estimaciones más robustas. Dado quetrain_random_forest y train_xgboost aceptan las etiquetas de especie originales ('Adelie', 'Chinstrap', 'Gentoo'), puedes pasar y directamente sin ninguna transformación previa: