0Pricing
Learn AI with Python · Lección

Análisis profundo de métricas de clasificación

Matriz de confusión, precisión, exhaustividad, F1, ROC-AUC y curva PR: elección de la métrica adecuada.

Análisis profundo de métricas de clasificación es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

La exactitud no es suficiente

La exactitud es la fracción de predicciones correctas, pero puede inducir a error con datos desequilibrados. Un modelo que predice únicamente la clase mayoritaria puede alcanzar un 99 % y, aun así, ser inútil para la clase minoritaria.

La matriz de confusión

La matriz de confusión divide las predicciones en verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos. Es la base de todas las demás métricas.

from sklearn.metrics import confusion_matrix

y_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 0, 1, 1]
print(confusion_matrix(y_true, y_pred))
# rows = actual, columns = predicted

Precisión

Precisión = TP / (TP + FP). De todos los elementos predichos como positivos, ¿cuántos lo son realmente? Una precisión alta implica pocas falsas alarmas. Es importante cuando los falsos positivos tienen un costo elevado (por ejemplo, en los filtros de spam).

from sklearn.metrics import precision_score

print(precision_score(y_true, y_pred))

Recall

Recall = TP / (TP + FN). De todos los positivos reales, ¿cuántos se detectan? Un recall alto implica pocos casos omitidos. Es importante cuando los falsos negativos tienen un costo elevado (por ejemplo, en la detección de enfermedades).

from sklearn.metrics import recall_score

print(recall_score(y_true, y_pred))

Puntuación F1

La puntuación F1 es la media armónica de la precisión y el recall: 2 * P * R / (P + R). Equilibra ambos y resulta útil cuando se necesita un único valor con datos desequilibrados.

from sklearn.metrics import f1_score, classification_report

print(f1_score(y_true, y_pred))
print(classification_report(y_true, y_pred))

Curva ROC y AUC

La curva ROC representa la tasa de verdaderos positivos frente a la tasa de falsos positivos para distintos umbrales. roc_auc_score la resume: 1.0 es perfecto y 0.5 equivale a una predicción aleatoria.

from sklearn.metrics import roc_auc_score

# needs probability scores, not hard labels
proba = model.predict_proba(Xte)[:, 1]
print(roc_auc_score(yte, proba))

Curva de precisión y recall

La curva PR representa la precisión frente al recall para distintos umbrales. Es más informativa que la ROC cuando las clases están muy desequilibradas, porque se centra en la clase positiva.

from sklearn.metrics import precision_recall_curve

prec, rec, thresh = precision_recall_curve(yte, proba)
# plot rec (x) vs prec (y) to see the tradeoff

Precisión media

average_precision_score resume la curva PR en un único valor (el área bajo la curva PR). Es la métrica de resumen preferida para la clasificación binaria desequilibrada.

from sklearn.metrics import average_precision_score

print(average_precision_score(yte, proba))

ROC AUC frente a precisión media

ROC AUC puede parecer demasiado optimista con datos desequilibrados porque predominan los verdaderos negativos. La precisión media ignora los verdaderos negativos y refleja de forma más honesta el rendimiento con la clase positiva minoritaria.

Elección de la métrica adecuada

Utilice F1 o precisión media para problemas desequilibrados. Utilice ROC AUC para evaluar la calidad del ordenamiento en datos equilibrados. Elija precisión cuando las falsas alarmas sean perjudiciales y recall cuando sean perjudiciales los casos omitidos. Indique siempre su prioridad antes de elegir.

Ajuste del umbral

La mayoría de las métricas dependen del umbral de decisión (predeterminado: 0.5). Al mover el umbral, intercambia precisión por recall. Utilice la curva PR para elegir un umbral que cumpla sus requisitos de negocio.

import numpy as np

# pick threshold for at least 0.9 precision
idx = np.argmax(prec >= 0.9)
chosen = thresh[idx]
preds = (proba >= chosen).astype(int)

Comprobación rápida

Ponga a prueba su comprensión de las métricas.

Resumen

Resumen: Comience con confusion_matrix. La precisión penaliza las falsas alarmas, el recall penaliza los casos omitidos y la F1 equilibra ambos. roc_auc_score mide la calidad del ordenamiento; average_precision_score y la curva PR son mejores para datos desequilibrados. Ajuste el umbral para adaptarlo a sus prioridades.

Preguntas frecuentes

¿La lección «Análisis profundo de métricas de clasificación» es gratis?

Sí — el texto completo de «Análisis profundo de métricas de clasificación» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Análisis profundo de métricas de clasificación»?

Matriz de confusión, precisión, exhaustividad, F1, ROC-AUC y curva PR: elección de la métrica adecuada. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Análisis profundo de métricas de clasificación»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Estrategias de validación cruzada
  2. Análisis profundo de métricas de clasificación
  3. Búsqueda en rejilla y búsqueda aleatoria
  4. Optimización bayesiana con Optuna
← Volver a Learn AI with Python