Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Clasificación de texto, Unidad 7 — Entrenamiento y ajuste, 7.2 — Ajuste de hiperparámetros ·

Umbrales de decisión

Umbrales de decisión

Introducción

En la clasificación de texto, los umbrales de decisión son un aspecto crítico que puede influir significativamente en el rendimiento de nuestro modelo. Estos umbrales se utilizan para convertir las probabilidades o puntuaciones de salida del modelo en etiquetas discretas (clases). Entender y ajustar adecuadamente estos umbrales es esencial para garantizar que nuestro clasificador funcione como esperamos, especialmente cuando el costo de cometer errores de distintos tipos puede variar.

Explicación principal

Los umbrales de decisión definen la línea divisoria entre las clases posibles. Por ejemplo, si estamos clasificando una reseña como positiva o negativa, un umbral podría establecer qué valor debe tener la probabilidad para que el modelo marque la reseña como "positiva". Un umbral bajo puede resultar en más clasificaciones positivas, mientras que uno alto puede minimizar las falsas alarmas.

En Python, podemos ajustar los umbrales de decisión utilizando el método predict_proba del clasificador y luego aplicar una regla personalizada. Aquí hay un ejemplo usando Logistic Regression:

from sklearn.linear_model import LogisticRegression
import numpy as np

# Ejemplo de datos
X = np.array([[0.7], [0.3]])
y_true = np.array([1, 0])  # Etiquetas reales

# Entrenamos el modelo
clf = LogisticRegression()
clf.fit(X, y_true)

# Probabilidades predichas
probabilities = clf.predict_proba(X)
print("Probabilidades predichas:", probabilities)

# Definimos un umbral personalizado (por ejemplo, 0.65)
threshold = 0.65

# Aplicamos el umbral para obtener las etiquetas predichas
y_pred_custom_threshold = np.where(probabilities[:, 1] > threshold, 1, 0)
print("Etiquetas predichas con umbral personalizado:", y_pred_custom_threshold)

Errores típicos / trampas

  1. Uso inapropiado de umbrales estándar: A menudo, los modelos entregan umbrales predefinidos basados en la media o el 50% del conjunto de datos de entrenamiento. Estos valores pueden no ser adecuados para todos los casos y pueden llevar a tasas de falsas alarmas o falsos negativos inaceptables.
  1. Ignorar costos asimétricos: En muchos escenarios, el costo de cometer un error puede variar. Por ejemplo, en una clasificación de spam, el costo de dejar pasar un correo electrónico no deseado es menor que el costo de etiquetarlo como spam y molestar al usuario con alertas. No ajustar los umbrales para estos costos asimétricos puede resultar en modelos suboptimos.
  1. Desconsideración del balanceo de clases: Si las clases son desequilibradas (como es común en la clasificación de texto), un umbral estándar podría no reflejar adecuadamente el equilibrio entre verdaderos positivos y falsos negativos, o viceversa. Es crucial ajustar los umbrales para considerar este desbalance.

Checklist accionable

  1. Revisar el balanceo de clases: Verifica si tu conjunto de datos tiene clases desequilibradas.
  2. Identificar costos asimétricos: Analiza si existen diferencias en los costos asociados a los diferentes tipos de errores.
  3. Calcular umbrales óptimos usando F1-score o área bajo la curva ROC (AUC-ROC): Estos métricas pueden ayudarte a encontrar un umbral que equilibre correctamente las falsas alarmas y falsos negativos.
  4. Probar diferentes umbrales: Experimenta con varios valores de umbral para evaluar su impacto en el rendimiento.
  5. Validar en un conjunto de prueba independiente: Asegúrate de validar tus ajustes en datos no vistos previamente.

Cierre

Siguientes pasos

  • Explora modelos más avanzados que pueden manejar umbrales de decisión automáticamente, como los clasificadores basados en árboles de decisión.
  • Considera la incorporación de técnicas de aprendizaje incremental para ajustar dinámicamente los umbrales según cambien las condiciones del dominio.
  • Analiza y documenta cómo los umbrales afectan el rendimiento de tu clasificador, especialmente en entornos donde los costos de errores pueden variar significativamente.

Por último, recuerda que la selección adecuada y ajuste preciso de los umbrales de decisión es una tarea crítica para cualquier modelo de clasificación.

Contacto

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