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.
π§ 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:
| 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. |
π A Matriz de ConfusΓ£o
| 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.13.
π Exemplo de ExecuΓ§Γ£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)
%%writefile EP01_02.py
# sua soluΓ§Γ£o
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.