Evaluación de modelos
Evaluar un modelo es tan importante como entrenarlo. Sin una evaluación correcta, no puedes saber si tu modelo realmente funciona, si está sobreajustado o si necesita mejoras. En esta guía aprenderás las métricas más usadas y cómo aplicarlas con Scikit‑Learn.
Tabla de contenidos
- Por qué evaluar un modelo
- Métricas para clasificación
- Métricas para regresión
- Matriz de confusión
- Reporte de clasificación
- Ejercicios
- Mini‑proyecto
1. Por qué evaluar un modelo
La evaluación permite saber si el modelo generaliza bien o si solo memoriza los datos.
- Detectar overfitting
- Comparar modelos
- Medir rendimiento real
- Identificar errores
2. Métricas para clasificación
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
accuracy = accuracy_score(y_test, pred)
precision = precision_score(y_test, pred)
recall = recall_score(y_test, pred)
f1 = f1_score(y_test, pred)
- Accuracy: porcentaje de aciertos
- Precision: aciertos entre las predicciones positivas
- Recall: aciertos entre los casos reales positivos
- F1: balance entre precision y recall
3. Métricas para regresión
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
mse = mean_squared_error(y_test, pred)
mae = mean_absolute_error(y_test, pred)
r2 = r2_score(y_test, pred)
- MSE: error cuadrático medio
- MAE: error absoluto medio
- R2: qué tan bien explica el modelo la variabilidad
4. Matriz de confusión
from sklearn.metrics import confusion_matrix
matriz = confusion_matrix(y_test, pred)
print(matriz)
La matriz de confusión muestra aciertos y errores por clase.
5. Reporte de clasificación
from sklearn.metrics import classification_report
print(classification_report(y_test, pred))
Este reporte incluye precision, recall y F1 para cada clase.
6. Ejercicios
- Calcula accuracy, precision, recall y F1.
- Calcula MSE y MAE.
- Genera una matriz de confusión.
- Genera un reporte de clasificación.
- Explica cuándo usar F1 en lugar de accuracy.
# pista métricas clasificación
accuracy_score(y_test, pred)
# pista matriz
confusion_matrix(y_test, pred)
7. Mini‑proyecto: Evaluación completa
Toma un dataset real y realiza:
- Entrenamiento de un modelo
- Predicciones
- Cálculo de todas las métricas
- Matriz de confusión
- Reporte de clasificación