Evaluar y mejorar modelos es fundamental para garantizar resultados fiables y adaptarlos a escenarios reales. En esta lección exploramos métricas, técnicas de optimización y métodos de explicabilidad.
Métricas de evaluación
Accuracy: proporción de predicciones correctas.
Precision: de todas las predicciones positivas, cuántas son correctas.
Recall: de todos los casos positivos, cuántos detecta el modelo.
F1-score: media armónica de precisión y recall.
Matriz de confusión: muestra errores tipo I y II.
from sklearn.metrics import classification_report, confusion_matrix
print(classification_report(y_test, y_pred))
print(confusion_matrix(y_test, y_pred))
Problemas comunes
Desbalance de clases: cuando una clase domina los datos.
Overfitting: el modelo memoriza datos en lugar de generalizar.
Datos ruidosos: presencia de errores, sarcasmo o ambigüedad.
Técnicas de mejora
Balanceo de clases: oversampling, undersampling o uso de SMOTE.
Regularización: parámetros como C en regresión logística o alpha en Naive Bayes.
Ensemble: combinación de varios modelos (Bagging, Boosting).
Optimización de hiperparámetros: GridSearch, RandomSearch, Bayesian Optimization.
Permite evaluar la estabilidad del modelo dividiendo los datos en varios subconjuntos (folds):
from sklearn.model_selection import cross_val_score
scores = cross_val_score(pipe, X, y, cv=5)
print("Exactitud promedio:", scores.mean())
Explicabilidad de modelos
LIME: explica predicciones locales analizando perturbaciones en el texto.
SHAP: asigna importancia a cada característica para una predicción.
Interpretabilidad: clave para sectores regulados como salud y finanzas.
Ejemplo con LIME
import lime.lime_text
from lime.lime_text import LimeTextExplainer
explainer = LimeTextExplainer(class_names=["negativo", "positivo"])
exp = explainer.explain_instance("me gusta mucho este producto", pipe.predict_proba)
exp.show_in_notebook(text=True)
Buenas prácticas
Dividir datos en entrenamiento, validación y prueba.
Monitorear métricas en producción, no solo en entrenamiento.
Reentrenar periódicamente con datos frescos.
Considerar sesgos éticos y fairness en modelos NLP.
Reflexión final
Evaluar correctamente y aplicar técnicas de mejora garantiza modelos más robustos y confiables. Esto prepara el terreno para aplicaciones en entornos productivos donde la precisión y la confianza son esenciales.