Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Feature engineering, Unidad 12 — Mini-proyecto de feature engineering, 12.1 — Proyecto guiado ·

Comparación de resultados

Comparación de resultados: Un paso crucial en el feature engineering

Introducción

La comparación de resultados es una etapa fundamental en cualquier proyecto de feature engineering. Esta actividad no solo sirve para medir la efectividad de las nuevas características que se crean, sino también para evaluar cuánto mejoran los modelos frente a su estado original. Es un proceso crítico que ayuda a asegurar que el trabajo realizado en feature engineering no es inútil y, más importante aún, que está trayendo beneficios significativos al rendimiento del modelo.

Explicación principal con ejemplos

La comparación de resultados implica revisar métricas clave antes y después de aplicar las nuevas características. Estas métricas pueden incluir precisión, recall, F1-score, AUC-ROC, entre otros dependiendo del problema en cuestión.

# Ejemplo de comparación de métricas usando scikit-learn
from sklearn.metrics import accuracy_score

def compare_metrics(y_true, y_pred_before, y_pred_after):
    # Métrica antes
    accuracy_before = accuracy_score(y_true, y_pred_before)
    
    # Métrica después
    accuracy_after = accuracy_score(y_true, y_pred_after)
    
    print(f"Accuracy before feature engineering: {accuracy_before:.2f}")
    print(f"Accuracy after feature engineering: {accuracy_after:.2f}")

# Supongamos que tenemos los datos
y_true = [0, 1, 0, 1, 0]
y_pred_before = [0, 1, 0, 0, 0]
y_pred_after = [0, 1, 0, 1, 0]

compare_metrics(y_true, y_pred_before, y_pred_after)

En este ejemplo, se puede observar una mejora en la precisión del modelo después de aplicar nuevas características. Sin embargo, es importante tener en cuenta que solo una métrica no proporciona toda la historia. La comparación debe incluir múltiples perspectivas para obtener una visión completa.

Errores típicos / trampas

  1. Interpretación incorrecta de las métricas: Las métricas seleccionadas deben ser relevantes y apropiadas para el problema en cuestión. Por ejemplo, la precisión puede no reflejar bien la calidad del modelo si hay un desequilibrio de clases.
  1. Comparaciones sin base: Comparar métricas sin considerar los cambios en las características o en los datos pueden llevar a conclusiones erróneas. Es crucial que cualquier cambio sea documentado y razonablemente explicado para evitar confusión o malentendidos.
  1. Métricas pasajeras: En algunos casos, una mejora aparente en la métrica puede ser el resultado de un overfitting o un desequilibrio temporal en los datos de prueba. Es importante validar estas mejoras con más datos y diferentes métodos para asegurar su consistencia.

Checklist accionable

  1. Documentar cambios: Documenta todos los cambios realizados en las características, modelos y métricas.
  2. Revisar métricas pertinentes: Utiliza múltiples métricas relevantes según el problema (precisión, recall, F1-score, AUC-ROC).
  3. Validación cruzada: Asegúrate de usar validación cruzada para obtener una visión más precisa del rendimiento.
  4. Analizar distribuciones: Comprueba si las nuevas características han alterado la distribución de los datos.
  5. Comparar con modelos base: Compara los resultados obtenidos con el modelo sin feature engineering como punto de referencia.

Cierre

Siguientes pasos

  • Continúa optimizando y validando tus modelos en comoprogramar.es.
  • Explora técnicas avanzadas de evaluación y validación, como la backtesting.
  • Aprende sobre MLOps para automatizar y monitorizar tu flujo de trabajo de machine learning.

Siguiendo estos pasos, podrás asegurar que cada paso del feature engineering tiene un impacto positivo en el rendimiento general del modelo.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).