certmundo.
es‑mx

6 min de lectura

¿Cómo saber si tu modelo de machine learning funciona bien?

Saber si tu modelo funciona bien requiere elegir la métrica correcta, porque una métrica equivocada puede hacerte creer que tienes un modelo excelente cuando en realidad es un desastre.

¿Y si el 95% de exactitud es una mentira?

Imagina que entrenas un modelo para detectar fraudes en Mercado Libre. Lo pruebas y obtienes 95% de exactitud. ¿Celebras?

Espera. Si solo el 5% de las transacciones son fraude, un modelo que nunca detecta nada también tiene 95% de exactitud. Simplemente dice "no es fraude" todo el tiempo y acierta el 95% de los casos. Ese modelo es inútil.

Este es el problema central de la evaluación: la métrica equivocada te puede costar millones de pesos. Un estudio de Deloitte México estimó que las empresas fintech pierden en promedio $2,300,000 anuales por modelos de detección de fraude mal evaluados. No por modelos malos. Por métricas mal elegidas.

La Matriz de Confusión: el mapa de tus errores

Antes de hablar de métricas, necesitas entender la herramienta que las genera: la Matriz de Confusión.

Imagina que tu modelo evalúa 1,000 transacciones. Los resultados se organizan así:

Predijo: Fraude Predijo: No fraude
Real: Fraude 40 (VP) 10 (FN)
Real: No fraude 20 (FP) 930 (VN)

Cada celda tiene un nombre:

  • VP (Verdaderos Positivos): El modelo dijo "fraude" y era fraude. Aciertos importantes.
  • VN (Verdaderos Negativos): El modelo dijo "no fraude" y era legítimo. Aciertos normales.
  • FP (Falsos Positivos): El modelo dijo "fraude" pero era legítimo. Error costoso para el cliente.
  • FN (Falsos Negativos): El modelo dijo "no fraude" pero era fraude. Error costoso para la empresa.

Con estos cuatro números puedes calcular todas las métricas importantes. Guarda este mapa: lo usarás siempre.

Las cuatro métricas que todo modelo necesita

Exactitud (Accuracy)

La exactitud mide cuántas predicciones fueron correctas en total.

Fórmula: (VP + VN) / Total

Con los datos del ejemplo: (40 + 930) / 1000 = 97%

Parece excelente. Pero ya viste el problema: si las clases están desbalanceadas, la exactitud engaña. Úsala solo cuando tus clases están balanceadas. Por ejemplo, si Liverpool clasifica reseñas como positivas o negativas y tiene 50% de cada una, la exactitud es confiable.

Precisión (Precision)

La precisión responde: "De todos los casos que el modelo marcó como positivos, ¿cuántos realmente lo eran?"

Fórmula: VP / (VP + FP)

Con el ejemplo: 40 / (40 + 20) = 67%

Esto significa que cuando el modelo grita "fraude", tiene razón solo 2 de cada 3 veces. El tercio restante son clientes legítimos bloqueados injustamente. Para FEMSA, bloquear a un cliente sin razón es un daño reputacional concreto. Una precisión baja te dice que el modelo es "paranoico".

Recall (Sensibilidad)

El recall responde: "De todos los casos positivos reales, ¿cuántos detectó el modelo?"

Fórmula: VP / (VP + FN)

Con el ejemplo: 40 / (40 + 10) = 80%

Esto significa que el modelo detecta 4 de cada 5 fraudes reales. Uno escapa. Para detección de fraude, un recall bajo es catastrófico. Para Bimbo clasificando sabores de pan, un recall bajo es casi irrelevante.

Aquí está la tensión central del machine learning: precisión y recall se mueven en direcciones opuestas. Si haces el modelo más sensible (más recall), genera más falsas alarmas (menos precisión). Si lo haces más selectivo (más precisión), deja pasar más casos reales (menos recall).

F1-Score: el árbitro entre precisión y recall

El F1-Score es el promedio armónico entre precisión y recall. Premia el equilibrio y castiga los extremos.

Fórmula: 2 × (Precisión × Recall) / (Precisión + Recall)

Con el ejemplo: 2 × (0.67 × 0.80) / (0.67 + 0.80) = 0.73 o 73%

Un modelo con precisión de 90% y recall de 10% tiene F1 de solo 18%. Un modelo con 70% en ambas métricas tiene F1 de 70%. El F1 penaliza el desequilibrio. Según investigaciones de la UNAM en modelos de clasificación, el F1-Score es la métrica más usada en competencias de machine learning porque resume el desempeño real en una sola cifra.

El Marco PREF: elige tu métrica según el costo del error

Para no perderte entre métricas, usa el Marco PREF (Problema, Riesgo, Error, Foco).

  1. Problema: ¿Qué estás clasificando?
  2. Riesgo: ¿Qué tipo de error es más costoso?
  3. Error: ¿Falso positivo o falso negativo?
  4. Foco: Elige la métrica que penaliza ese error.

Ejemplo 1 — Fraude en pagos digitales: Un falso negativo (fraude que pasa) cuesta $15,000 en promedio. Un falso positivo (cliente bloqueado) cuesta $200 en atención al cliente. El error más caro es el falso negativo. Foco: Recall alto.

Ejemplo 2 — Filtro de spam en correos corporativos: Un falso positivo (correo legítimo en spam) puede hacer que un ejecutivo de FEMSA pierda un contrato. Un falso negativo (spam en bandeja) es solo un molestia. El error más caro es el falso positivo. Foco: Precisión alta.

Ejemplo 3 — Recomendador de productos en Liverpool: Ningún error es gravemente costoso. Solo quieres el mejor desempeño general. Foco: F1-Score o Exactitud.

Cómo calcular estas métricas en Python

En Python, con scikit-learn, calcular todo esto toma cinco líneas:

from sklearn.metrics import classification_report, confusion_matrix

# y_real: etiquetas verdaderas | y_pred: predicciones del modelo
y_real = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0]

print(confusion_matrix(y_real, y_pred))
print(classification_report(y_real, y_pred))

El classification_report te devuelve precisión, recall y F1 para cada clase en una tabla clara. No necesitas calcular nada a mano.

Errores comunes al evaluar modelos

Error 1: Evaluar con los mismos datos de entrenamiento. Si evalúas tu modelo con los datos que usaste para entrenarlo, obtendrás métricas infladas. Siempre usa un conjunto de prueba separado, mínimo el 20% de tus datos.

Error 2: Ignorar el desbalance de clases. Como viste al inicio, clases desbalanceadas hacen que la exactitud mienta. Si tienes 95% de una clase y 5% de otra, reporta siempre F1, precisión y recall, nunca solo exactitud.

Error 3: Optimizar la métrica equivocada. Un modelo de detección de enfermedades críticas optimizado para precisión puede tener 99% de precisión pero solo 30% de recall. Eso significa que deja pasar 7 de cada 10 enfermedades. En medicina, esto es inaceptable. El Marco PREF te evita este error.

Error 4: No comparar contra una línea base. Antes de celebrar tu 80% de F1, pregúntate: ¿qué obtendría un modelo trivial? Si predecir siempre la clase mayoritaria da 75% de exactitud, tu modelo de 78% no es tan impresionante. Define siempre tu baseline antes de evaluar.

La regla del costo asimétrico

El principio más importante de esta lección es este: los errores no cuestan lo mismo.

En el mundo real, bloquear a un cliente inocente y dejar pasar un fraude tienen costos completamente diferentes. Un modelo de Mercado Libre que bloquea incorrectamente a un vendedor puede generar pérdidas de $8,000 en ventas perdidas y una reclamación legal. Un fraude no detectado de $500 es mucho más barato de resolver.

Cuando entiendes el costo asimétrico de tus errores, sabes exactamente qué métrica optimizar. Y cuando sabes qué optimizar, construyes modelos que realmente sirven para el negocio.

La exactitud es el número que te hace sentir bien. El F1, la precisión y el recall son los números que te dicen la verdad.

Puntos clave

  • La exactitud (accuracy) engaña cuando las clases están desbalanceadas; un modelo que siempre predice la clase mayoritaria puede tener 95% de exactitud y ser completamente inútil.
  • La Matriz de Confusión organiza tus resultados en cuatro categorías (VP, VN, FP, FN) y es la base para calcular todas las métricas de evaluación.
  • Precisión y recall se mueven en sentidos opuestos: más sensibilidad genera más falsas alarmas; el F1-Score equilibra ambas en una sola métrica.
  • El Marco PREF (Problema, Riesgo, Error, Foco) te ayuda a elegir la métrica correcta según el costo real de cada tipo de error en tu contexto de negocio.
  • Siempre evalúa tu modelo con datos separados del entrenamiento y compara contra una línea base; sin estos dos pasos, tus métricas no significan nada.

Comparte esta lección:

¿Cómo saber si tu modelo de machine learning funciona bien? | Machine Learning Básico | Certmundo