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.
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:
- Leia 4 valores inteiros na ordem:
VP,FN,FP,VN. - 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}}\]
- 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
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
%%writefile EP01_02.cpp
// sua soluçãoOverwriting EP01_02.cpp
TestSuite("EP01_02.cpp").run()✔️ EP01_02.cases já existe em casos/
📋 5 caso(s) carregado(s) de casos/EP01_02.cases
🔍 Testando C++: EP01_02.cpp
⚠️ EP01_02.cpp: Arquivo sem conteúdo (menos de 3 linhas). Testes ignorados.