PDI+VC · Exercício de Programação

EP01_02 — 📊 Desempenho Preditivo — Métricas de ML em VC

1.17.2 EP01_02 📊 Desempenho Preditivo — Métricas de ML em VC

Nesta atividade, você entrará no mundo do Aprendizado de Máquina (Machine Learning). Seu objetivo é avaliar o desempenho de um classificador binário calculando métricas a partir de uma Matriz de Confusão.

1.17.2.1 🧠 Por que a métrica certa importa?

Imagine um detector de moedas de R$ 1,00. O impacto do erro define a métrica prioritária:

Métrica Exemplo Prático Importância em PDI/VC
Acurácia Contagem de Grãos Útil quando as classes são equilibradas (ex: metade dos grãos com defeito, metade saudáveis).
Precisão Segurança/Biometria Crucial para evitar Falsos Positivos (ex: não permitir que um impostor acesse um sistema por erro de reconhecimento).
Sensibilidade Saúde (Tumores) Crucial para evitar Falsos Negativos (ex: não deixar um tumor passar despercebido em um exame de Raio-X).
F1-score Cédulas de Dinheiro Ideal para um equilíbrio entre não rejeitar notas verdadeiras e não aceitar notas falsas.

1.17.2.2 📊 A Matriz de Confusão

Predita Positiva Predita Negativa
Real Positiva VP (Verdadeiro Positivo) FN (Falso Negativo)
Real Negativa FP (Falso Positivo) VN (Verdadeiro Negativo)

Tarefa:

  1. Leia 4 valores inteiros na ordem: VP, FN, FP, VN.
  2. Calcule as métricas utilizando as fórmulas:

\[\text{Acurácia} = \frac{VP + VN}{VP + VN + FP + FN}\]

\[\text{Precisão} = \frac{VP}{VP + FP}\]

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

\[\text{F1-score} = \frac{2 \times \text{Precisão} \times \text{Sensibilidade}}{\text{Precisão} + \text{Sensibilidade}}\]

  1. Imprima os resultados formatados com duas casas decimais, um por linha.

📌 Importante:

  • Use divisão em ponto flutuante para evitar resultados truncados.
  • A ordem de saída deve ser: Acurácia, Precisão, Sensibilidade e F1-score.
  • Veja a simulação interativa deste EP na Figura 1.12.

1.17.2.3 📌 Exemplo de Execução

Entrada Saída Observação
40 0.75 Acurácia
10 0.73 Precisão
15 0.80 Sensibilidade
35 0.76 F1-score

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

🎮 Simulador EP01_02: Desempenho Preditivo — Métricas de ML Matriz de Confusão & Métricas

Selecione um cenário pré-definido ou ajuste os controles deslizantes para observar o impacto em tempo real na matriz de confusão e nas métricas de avaliação.

ENTRADAS (PARÂMETROS DA MATRIZ)
40
10
15
35
MATRIZ DE CONFUSÃO DISCRETA
Pred +
Pred −
Real +
VP
40
FN
10
Real −
FP
15
VN
35
MÉTRICAS CALCULADAS EM TEMPO REAL
Acurácia 0.75
(VP + VN) / Total
Precisão 0.73
VP / (VP + FP)
Sensibilidade (Recall) 0.80
VP / (VP + FN)
F1-Score (Média Harmônica) 0.76
2 · (P · R) / (P + R)
Total de Amostras: 100
Figura 1.12: Simulador EP01_02: Desempenho Preditivo — Métricas de ML
%%writefile EP01_02.py
# sua solução
Writing EP01_02.py
TestSuite("EP01_02.py").run()
✔️ EP01_02.cases já existe em casos/
📋 5 caso(s) carregado(s) de casos/EP01_02.cases

🔍 Testando Python: EP01_02.py
⚠️ EP01_02.py: Arquivo sem conteúdo (menos de 3 linhas). Testes ignorados.