Capítulo-piloto do esqueleto v4. É aqui que o formato do livro foi validado antes de ser exigido dos demais — como o cap. II.1 foi o piloto do livro de Engenharia de Harness, e pela mesma razão: avaliação é o assunto em que a diferença entre "achar que entendeu" e "entender" aparece mais rápido.
Objetivos de aprendizagem
- O1. Explicar por que acurácia é enganosa sob desbalanceamento de classes.
- O2. Calcular e interpretar precisão, revocação e F1 a partir de uma matriz de confusão.
- O3. Escolher a métrica adequada a partir do custo do erro no problema, e não por hábito.
- O4. Distinguir a qualidade do ranking (AUC) da qualidade da decisão (limiar), e explicar por que calibração é uma terceira coisa.
- O5. Reportar uma métrica com incerteza, em vez de um ponto.
O problema: 99,7% de acurácia sem modelo nenhum
Uma operadora de cartões pede um detector de fraude. A base tem 0,3% de transações fraudulentas. A equipe treina, mede, e reporta com orgulho: 99,5% de acurácia.
O número é verdadeiro e é inútil. Um "modelo" de uma linha, return "não é fraude", atinge 99,7%. A equipe entregou algo pior que a ausência de modelo, e a métrica escolhida escondeu isso atrás de dois noves.
Este capítulo é sobre não deixar isso acontecer. E o mecanismo do erro não é matemático — é de processo: a métrica foi escolhida depois do modelo, por hábito, em vez de antes, a partir do custo do erro.
A linha de base que você precisa bater
Antes de qualquer métrica sofisticada, calcule o que um classificador trivial atinge:
- Classificação: sempre a classe majoritária.
- Regressão: sempre a média (ou a mediana) do treino.
- Séries temporais: repetir o último valor observado. Essa costuma ser surpreendentemente difícil de bater.
Se o modelo não bate a linha de base, ele não tem valor — independentemente de quantos dígitos a acurácia tenha. Registre esse número no início do projeto e mantenha-o visível em todo relatório. É o gesto mais barato de higiene metodológica que existe, e o mais frequentemente pulado.
avaliacao-e1escolha umaNuma base de detecção de fraude com 0,3% de casos positivos, um modelo atinge 99,5% de acurácia no teste. Qual leitura é correta?
avaliacao-e6responda com um númeroUma base de manutenção preditiva tem 8% de máquinas com falha no período. Qual acurácia um classificador trivial, que prevê sempre "sem falha", alcança? Responda em fração, com duas casas decimais.
avaliacao-e7escolha umaUma equipe rebate: "sabemos do desbalanceamento, por isso reequilibramos a base por reamostragem antes de treinar. Agora as classes estão 50/50 e a acurácia de 0,88 é honesta". Qual é a avaliação correta?
De onde isto veio
Este capítulo tem um nome estranho no meio dele — curva ROC, "característica de operação do receptor". Receptor de quê? A resposta explica a métrica inteira.
O aperto. Segunda Guerra Mundial, estações de radar britânicas e americanas. Um operador olha uma tela e vê um borrão. Aquilo é um bombardeiro inimigo, um navio amigo, uma revoada de pássaros, ou ruído do próprio aparelho? Ele tem segundos para decidir, e os dois erros matam: deixar passar um bombardeiro custa uma cidade; disparar o alarme à toa esgota a defesa e, repetido, faz os alarmes serem ignorados.
O que se fazia antes. Conta-se que a qualidade do operador e do equipamento era medida por uma taxa de acerto, quantas detecções corretas num turno, e que daí apareceu o problema que este capítulo inteiro persegue: um operador nervoso, que apertasse o botão em quase tudo, teria taxa de detecção excelente. O número subiria; a defesa pioraria. (Esta narrativa é a corrente na literatura didática de detecção de sinal; não a conferimos em fonte da época — ver a tabela ao fim da seção.)
A virada. Perceber que detecção e falso alarme não são dois defeitos independentes: são as duas pontas de um mesmo botão. Segundo a versão corrente, o receptor de radar tinha um controle de ganho: girá-lo para cima fazia aparecer mais alvos verdadeiros e mais fantasmas; para baixo, limpava a tela e escondia bombardeiros. Não existia posição sem custo. Então pare de medir um ponto e meça a curva inteira: para cada posição do botão, quanto se detecta e quanto se alarma à toa. Essa curva é a característica de operação do receptor.
A ideia reaproveitável — e é a maior deste capítulo. O limiar não é propriedade do modelo; é a decisão de quem assume as consequências. No radar isso era literal: havia um botão, e girá-lo trocava um tipo de erro por outro. Um modelo entrega um ranking; transformá-lo em decisão exige alguém dizer quanto custa cada erro. Nenhum valor de limiar é "o certo" sem essa conversa — e quando o cientista de dados escolhe o limiar sozinho, ele não está fazendo uma escolha técnica: está tomando, calado, uma decisão que era de outra pessoa.
O nome. Receiver Operating Characteristic é literalmente a característica de operação daquele receptor de rádio. O gráfico como o usamos vem do trabalho pós-guerra em teoria da detecção de sinal: um relatório técnico de Peterson e Birdsall na Universidade de Michigan, em 1953, publicado no ano seguinte como "The theory of signal detectability" por Peterson, Birdsall e Fox (Transactions of the IRE, 4(4):171–212, 1954). No mesmo ano de 1954, a ideia chega à psicologia por Tanner e Swets, em "A decision-making theory of visual detection" (Psychological Review 61(6):401–409), e de lá migra para a medicina, a meteorologia e, por fim, para cá.
Por que a história importa na prática. Quem sabe que a ROC nasceu de um botão físico nunca mais confunde "o modelo é bom" com "o limiar está certo". São duas perguntas, e só a primeira é técnica.
Procedência das afirmações desta seção:
| Selo | Afirmação |
|---|---|
| ⏳ | A origem no radar da Segunda Guerra e o controle de ganho ajustável pelo operador — consistente entre fontes secundárias; nenhuma primária da época foi aberta |
| ✓ᵐ | As fichas dos dois marcos de 1954: Peterson, Birdsall & Fox, "The theory of signal detectability", Transactions of the IRE Professional Group on Information Theory 4(4):171–212, 10.1109/tit.1954.1057460; e Tanner & Swets, "A decision-making theory of visual detection", Psychological Review 61(6):401–409, 10.1037/h0058700 |
| ⏳ | Que o termo Receiver Operating Characteristic tenha nascido nesse trabalho, e o conteúdo do relatório de 1953. Tentei abrir o relatório em dois repositórios e os dois recusaram a transferência: o de defesa devolveu página em vez de documento, e o da universidade respondeu com desafio de robô. A ficha existe; o texto, não |
| ⏳ | O caso do operador com alta taxa de detecção por excesso de alarme — narrado de forma consistente na literatura didática de detecção de sinal |
| 📖 | A ideia reaproveitável ("o limiar é decisão de quem assume as consequências") e a leitura de que escolher limiar calado é tomar decisão alheia |
Fundamentos: a matriz de confusão e o que dela deriva
Toda métrica de classificação binária nasce de quatro números:
| Predisse positivo | Predisse negativo | |
|---|---|---|
| É positivo | Verdadeiro Positivo (VP) | Falso Negativo (FN) |
| É negativo | Falso Positivo (FP) | Verdadeiro Negativo (VN) |
A partir deles:
| Métrica | Fórmula | Pergunta que responde |
|---|---|---|
| Acurácia | (VP+VN)/total | de tudo, quanto acertei? |
| Precisão | VP/(VP+FP) | dos que apontei como positivos, quantos eram? |
| Revocação | VP/(VP+FN) | dos que eram positivos, quantos encontrei? |
| F1 | média harmônica de precisão e revocação | um número quando os dois importam igualmente |
| Especificidade | VN/(VN+FP) | dos negativos, quantos deixei em paz? |
A distinção entre precisão e revocação é o eixo do capítulo, e a mnemônica que funciona é a das perguntas: precisão olha para a coluna do que você apontou; revocação olha para a linha do que existia.
E há um trade-off inescapável entre elas. Um modelo que aponta tudo como positivo tem revocação 1,0 e precisão péssima. Um que aponta apenas o caso de que tem certeza absoluta tem precisão alta e revocação irrisória. Mover o limiar desloca você ao longo dessa curva — nunca melhora os dois ao mesmo tempo.
Worked example: a mesma matriz, três leituras
Um modelo de triagem médica, avaliado em 1.000 pacientes, dos quais 100 têm a doença:
| Predisse doente | Predisse saudável | |
|---|---|---|
| Doente | VP = 80 | FN = 20 |
| Saudável | FP = 40 | VN = 860 |
- Acurácia = (80+860)/1000 = 0,940
- Precisão = 80/(80+40) = 0,667 — de cada 3 alarmes, 1 é falso
- Revocação = 80/(80+20) = 0,800 — 20 doentes passaram despercebidos
- F1 = 2·(0,667·0,800)/(0,667+0,800) = 0,727
- Linha de base trivial ("todos saudáveis") = 900/1000 = 0,900
Três leituras do mesmo modelo, e todas verdadeiras:
- "94% de acurácia" — tecnicamente correto, e quase desonesto: o trivial faz 90%.
- "Encontra 4 de cada 5 doentes" — a leitura da revocação. É a que importa numa triagem, porque o custo de um FN é uma doença não tratada.
- "Um terço dos alarmes é falso" — a leitura da precisão. É a que determina se o serviço é operável: se cada alarme custa um exame caro, 33% de desperdício pode inviabilizar o programa.
A métrica certa é a que responde à pergunta cujo erro custa caro. Numa triagem, FN mata e FP custa dinheiro — então revocação manda, com precisão como restrição orçamentária. Num filtro de spam, é o inverso: o FN é um email chato na caixa de entrada, o FP é uma fatura perdida na pasta de lixo. Mesmo formalismo, prioridades opostas.
avaliacao-e2responda com um númeroUm classificador produziu a seguinte matriz de confusão: VP = 45, FP = 15, FN = 30, VN = 410.
Qual é a precisão? Responda com 2 casas decimais.
avaliacao-e8escolha umaQual pergunta a revocação responde?
avaliacao-e9escolha umaUm modelo tem precisão 0,90 e revocação 0,30. Uma equipe propõe baixar o limiar para "melhorar a revocação sem perder precisão". O que se pode afirmar?
avaliacao-e3escolha umaUm sistema faz a triagem inicial de currículos, descartando candidatos antes de qualquer olhar humano. Qual métrica deve orientar a decisão de limiar, e por quê?
avaliacao-e10escolha umaNum filtro de spam, qual erro custa mais caro ao usuário?
avaliacao-e11responda com suas palavrasUm município vai usar um modelo para priorizar visitas da vigilância sanitária a restaurantes. A equipe tem 40 fiscais e cerca de 9 000 estabelecimentos. Hoje as visitas são por sorteio.
Escolha a métrica que deve orientar o limiar e defenda a escolha pelo custo do erro. Diga também qual restrição operacional entra na conta, e o que você exigiria ver antes de trocar o sorteio pelo modelo.
Ranking, decisão e calibração — três coisas diferentes
Um classificador quase sempre produz um escore contínuo, e só vira decisão quando você escolhe um limiar. Isso separa três perguntas que costumam ser confundidas numa só.
1. O ranking é bom? — Se eu ordenar todos os exemplos pelo escore, os positivos ficam no topo? É o que a AUC-ROC mede: a probabilidade de um positivo sorteado ao acaso receber escore maior que um negativo sorteado ao acaso. AUC não depende de limiar nenhum.
2. A decisão é boa? — Escolhido um limiar, quantos FP e FN aparecem? É aí que vivem precisão, revocação e o custo real da operação.
3. Os escores são probabilidades honestas? — Quando o modelo diz 0,8, isso acontece 80% das vezes? Isso é calibração, e é uma propriedade independente das duas anteriores. Um modelo pode ter AUC excelente (ordena perfeitamente) e ser péssimo calibrado (todos os escores comprimidos entre 0,4 e 0,6). Se a decisão a jusante multiplica a probabilidade por um valor monetário (preço, provisão, expectativa de perda), calibração deixa de ser refinamento e vira requisito.
Uma armadilha específica. Sob desbalanceamento severo, a AUC-ROC é otimista: o eixo de falsos positivos é normalizado pelo total de negativos, que é enorme, então mesmo muitos FP mal movem a curva. Para classes raras, prefira a AUC-PR (precisão × revocação), cuja linha de base é a própria prevalência — 0,003 no exemplo da fraude, o que deixa qualquer melhora visível em vez de diluída.
Cláusula de expiração. Escrevo em 2026 que AUC-PR é a escolha padrão para classes raras e que a calibração é tratada como etapa pós-treino (Platt, isotônica). Se, na próxima revisão, os modelos de uso geral estiverem entregando escores bem calibrados sem etapa dedicada, esta seção muda de recomendação. Acompanhamento no placar de expiração.
avaliacao-l1Não há nada a treinar aqui. Os escores já existem, os positivos sorteados de uma distribuição e os negativos de outra, e a única coisa que se move é onde se corta. O limiar desce de 0,98 a 0,00, e a cada quadro a matriz de confusão, a acurácia, a precisão e a revocação mudam junto, com o ponto andando sobre a ROC.
Assista uma vez com as classes equilibradas. Precisão e revocação andam em direções opostas, que é a troca da qual o capítulo inteiro depende, e o melhor F1 aparece no meio do caminho.
Agora, antes de clicar, responda: se só 1% dos casos fosse positivo, o que aconteceria com a acurácia? Escreva a sua resposta e então clique em "E se só 1% fosse positivo?".
Ela sobe. No limiar alto a acurácia bate 0,992 com revocação de 0,168: o modelo está deixando escapar mais de 80% dos positivos e acertando quase tudo, porque quase tudo é negativo. Dizer "não" a todo mundo já daria 0,990. É o O1 deste capítulo em três números na tela.
Repare agora no que não se mexeu. A AUC-ROC fica em 0,968 nas duas prevalências, dígito por dígito. Não é coincidência da simulação, é a definição: a ROC compara positivos com positivos e negativos com negativos, e a proporção entre os dois não entra na conta. Já a AUC-PR cai de 0,925 para 0,578, porque a precisão depende da prevalência. É por isso que a seção acima prefere a AUC-PR para classe rara, e é a distância entre o O4 e o O1 vista de uma vez só.
avaliacao-e4escolha todas que valemUm modelo tem AUC-ROC de 0,95 no teste. Quais conclusões são legítimas a partir só desse número? (marque todas que valem)
avaliacao-e12escolha umaUm modelo de risco de crédito serve para calcular a provisão esperada, multiplicando a probabilidade prevista pelo valor do contrato. Qual das três propriedades passa a ser requisito, e não refinamento?
avaliacao-e13escolha umaNuma base com 0,3% de positivos, por que a AUC-PR é preferível à AUC-ROC?
Métrica é uma estimativa — reporte a incerteza
Uma acurácia de 0,94 medida em 100 exemplos e uma medida em 100.000 exemplos são o mesmo número e informações muito diferentes. A primeira tem intervalo de confiança de 95% de aproximadamente ±0,047; a segunda, de ±0,0015. Reportar as duas como "0,94" apaga a diferença que mais importa para decidir.
Duas práticas baratas resolvem quase tudo:
- Intervalo por bootstrap: reamostre o conjunto de teste com reposição algumas centenas de vezes, recalcule a métrica em cada reamostra, e reporte os percentis 2,5 e 97,5. Não exige suposição sobre a distribuição e funciona para qualquer métrica.
- Validação cruzada com desvio-padrão: reporte média ± desvio entre as dobras. Um modelo com 0,84 ± 0,01 e outro com 0,86 ± 0,09 não estão empatados nem separados — estão em situações qualitativamente diferentes, e o segundo é instável.
Regra prática que vale como norma editorial deste livro: duas métricas sem intervalos não podem ser comparadas. "Melhorou de 0,912 para 0,918" é uma frase sem conteúdo até que se saiba se o ruído da medição é maior que 0,006.
avaliacao-e5responda com suas palavrasSua equipe compara dois modelos no mesmo conjunto de teste de 800 exemplos: o modelo A tem F1 = 0,812 e o modelo B, F1 = 0,829. Alguém propõe substituir A por B em produção.
Escreva a resposta que você daria: o que falta saber antes dessa decisão, e como você obteria essa informação.
avaliacao-e14escolha umaDois relatórios trazem acurácia de 0,94. O primeiro mediu em 100 exemplos, o segundo em 100 000. O que se pode dizer?
avaliacao-e15escolha umaDuas validações cruzadas: o modelo A dá 0,84 ± 0,01 entre as dobras, e o B dá 0,86 ± 0,09. Qual leitura é correta?
Mão na massa
A etapa 04 do ml-zero implementa, em NumPy puro e sem scikit-learn:
matriz_confusao(y_true, y_pred)— os quatro números;precisao,revocacao,f1derivadas dela;curva_preauc_prpor varredura de limiares;bootstrap_ic(metrica, y_true, y_score, n=1000)— o intervalo de confiança;- a comparação pareada entre dois modelos que o exercício avaliacao-e5 pediu.
Implementar precisão e revocação uma vez, à mão, é o antídoto mais duradouro contra trocá-las — que é o erro mais comum do capítulo, inclusive entre praticantes experientes.
Assista
A curva ROC é o conceito deste capítulo que menos sobrevive à explicação em prosa. O vídeo constrói a curva ponto a ponto, deslizando o limiar e mostrando a matriz de confusão mudar junto — e é essa animação que faz cair a ficha de que ROC não é uma métrica de um modelo, mas o retrato de todos os limiares de uma vez. Assista antes do exercício avaliacao-e4.
O vídeo só é pedido ao servidor de origem depois deste clique.
Síntese — o que levar
- Calcule a linha de base trivial antes de tudo e mantenha-a em todo relatório. Modelo que não a bate não existe.
- Acurácia informa quando as classes são equilibradas e os erros custam igual. Fora disso, ela esconde.
- Escolha a métrica pelo custo do erro, antes de treinar. Escolher depois é escolher a que ficou bonita.
- AUC mede ranking; limiar produz decisão; calibração é uma terceira propriedade, exigida sempre que a probabilidade vira dinheiro.
- Métrica sem intervalo não se compara. Bootstrap pareado é barato e resolve.
Verificação
- Explique a diferença entre precisão e revocação para alguém de negócio, sem escrever nenhuma fórmula.
- Em que situação um modelo com AUC de 0,99 pode ser inútil na prática? Dê um exemplo concreto.
- Sua equipe reporta "acurácia de 97%". Que três perguntas você faz antes de aprovar o deploy?