PDI+VC · Ejercicio de Programación

EP01_02 — 📊 Desempeño Predictivo — Métricas de ML en VC

1.17.2 EP01_02 📊 Desempeño Predictivo — Métricas de ML en VC

En esta actividad, entrarás al mundo del Aprendizaje Automático (Machine Learning). Tu objetivo es evaluar el desempeño de un clasificador binario calculando métricas a partir de una Matriz de Confusión.

1.17.2.1 🧠 ¿Por qué importa la métrica correcta?

Imagina un detector de monedas de R$ 1,00. El impacto del error define la métrica prioritaria:

Métrica Ejemplo Práctico Importancia en PDI/VC
Exactitud Conteo de Granos Útil cuando las clases están equilibradas (ej: la mitad de los granos con defecto, la mitad sanos).
Precisión Seguridad/Biometría Crucial para evitar Falsos Positivos (ej: no permitir que un impostor acceda a un sistema por error de reconocimiento).
Sensibilidad Salud (Tumores) Crucial para evitar Falsos Negativos (ej: no dejar que un tumor pase desapercibido en un examen de Rayos-X).
Puntuación F1 Billetes de Dinero Ideal para un equilibrio entre no rechazar billetes verdaderos y no aceptar billetes falsos.

1.17.2.2 📊 La Matriz de Confusión

Predicha Positiva Predicha Negativa
Real Positiva VP (Verdadero Positivo) FN (Falso Negativo)
Real Negativa FP (Falso Positivo) VN (Verdadero Negativo)

Tarea:

  1. Lee 4 valores enteros en el orden: VP, FN, FP, VN.
  2. Calcula las métricas utilizando las fórmulas:

\[\text{Exactitud} = \frac{VP + VN}{VP + VN + FP + FN}\]

\[\text{Precisión} = \frac{VP}{VP + FP}\]

\[\text{Sensibilidad (Recall)} = \frac{VP}{VP + FN}\]

\[\text{Puntuación F1} = \frac{2 \times \text{Precisión} \times \text{Sensibilidad}}{\text{Precisión} + \text{Sensibilidad}}\]

  1. Imprime los resultados formateados con dos decimales, uno por línea.

📌 Importante:

  • Usa división en punto flotante para evitar resultados truncados.
  • El orden de salida debe ser: Exactitud, Precisión, Sensibilidad y Puntuación F1.
  • Consulta la simulación interactiva de este EP en la Figura 1.12.

1.17.2.3 📌 Ejemplo de Ejecución

Entrada Salida Observación
40 0.75 Exactitud
10 0.73 Precisión
15 0.80 Sensibilidad
35 0.76 Puntuación F1

(Nota: VP=40, FN=10, FP=15, VN=35. Total de casos = 100)

🎮 Simulador EP01_02: Desempeño Predictivo — Métricas de ML Matriz de Confusión & Métricas

Seleccione un escenario predefinido o ajuste los controles deslizantes para observar el impacto en tiempo real en la matriz de confusión y en las métricas de evaluación.

ENTRADAS (PARÁMETROS DE LA MATRIZ)
40
10
15
35
MATRIZ DE CONFUSIÓN DISCRETA
Pred +
Pred −
Real +
VP
40
FN
10
Real −
FP
15
VN
35
MÉTRICAS CALCULADAS EN TIEMPO REAL
Exactitud 0.75
(VP + VN) / Total
Precisión 0.73
VP / (VP + FP)
Sensibilidad (Recall) 0.80
VP / (VP + FN)
Puntuación F1 (Media Armónica) 0.76
2 · (P · R) / (P + R)
Total de Muestras: 100
Figura 1.12: Simulador EP01_02: Rendimiento Predictivo — Métricas de ML
%%writefile EP01_02.cpp
// your solution
Overwriting EP01_02.cpp
TestSuite("EP01_02.cpp").run()
✔️ EP01_02.cases ya existe en casos/
📋 5 caso(s) cargado(s) de casos/EP01_02.cases

🔍 Probando C++: EP01_02.cpp
⚠️ EP01_02.cpp: archivo vacío (menos de 3 líneas). Pruebas omitidas.