Métricas
O que são “métricas (metrics)” e por que elas importam
Uma métrica (metric) é uma medida quantitativa de quão bem as previsões de um modelo correspondem à realidade. Métricas são a ponte entre:
- Desenvolvimento de modelo (treinamento e ajuste)
- Tomada de decisão (colocar em produção, monitorar e iterar)
- Objetivos de negócio ou científicos (custo, risco, experiência do usuário, equidade, segurança)
Na prática, uma métrica nunca é “apenas um número”. Ela codifica suposições sobre quais tipos de erros importam, como a incerteza deve ser tratada e como as previsões serão usadas (por exemplo, decisões com limiar vs. listas ranqueadas).
Este artigo foca em métricas para três cenários comuns:
- Classificação (classification) (prever rótulos discretos)
- Regressão (regression) (prever valores contínuos)
- Ranqueamento / recuperação (ranking / retrieval) (ordenar itens, recomendar, busca)
Ele também enfatiza as compensações (tradeoffs) que determinam quais métricas são apropriadas.
Tópicos relacionados que valem a leitura em conjunto:
- Validação e Validação Cruzada (Validation & Cross-Validation) (como estimar métricas de forma confiável)
- Desbalanceamento de Classes (Class Imbalance) (por que muitas métricas falham sob assimetria)
- Calibração (Calibration) (qualidade de probabilidade vs. qualidade de ranqueamento)
- Análise de Erros (Fatiamento, Slicing) (encontrar onde as métricas escondem falhas)
- Desenho Experimental e Poder (Experiment Design & Power) (intervalos de confiança, testes A/B)
- Estimativa de Incerteza (Uncertainty Estimation) (quando estimativas pontuais não bastam)
Escolhendo uma métrica: as perguntas centrais
Antes de escolher métricas, responda:
Que decisão será tomada a partir das previsões?
- Decisão rígida (aprovar/negar): métricas dependentes de limiar importam.
- Lista ranqueada (top-10 recomendações): métricas de ranqueamento importam.
- Previsão contínua (previsão de demanda): métricas de regressão importam.
Qual é o custo de erros diferentes?
- Falsos positivos vs. falsos negativos raramente são simétricos.
As probabilidades previstas são usadas como probabilidades?
- Se sim, você precisa de regras de pontuação próprias (proper scoring rules) (por exemplo, perda logarítmica, pontuação de Brier) e provavelmente se importa com Calibração.
Os dados são desbalanceados ou mudam ao longo do tempo?
- Muitas métricas “simples” (acurácia) podem ser enganosas sob Desbalanceamento de Classes ou deriva.
Você precisa de métricas por grupo/coorte (cohort)?
- Pontuações agregadas frequentemente escondem falhas graves; use Análise de Erros (Fatiamento).
Métricas de classificação
A classificação pode ser binária, multiclasse ou multirrótulo. A maioria das métricas é mais fácil de entender no caso binário.
Matriz de confusão e taxas derivadas
Para classificação binária (positivo vs. negativo):
- TP: previsto como positivo, na verdade positivo
- FP: previsto como positivo, na verdade negativo
- TN: previsto como negativo, na verdade negativo
- FN: previsto como negativo, na verdade positivo
Taxas comuns:
- Precisão (precision) = TP / (TP + FP)
“Quando prevemos positivo, com que frequência estamos certos?” - Revocação (recall) (TPR, sensibilidade) = TP / (TP + FN)
“Dos verdadeiros positivos, quantos nós capturamos?” - Especificidade (specificity) (TNR) = TN / (TN + FP)
“Dos verdadeiros negativos, quantos rejeitamos corretamente?” - Taxa de falso positivo (FPR) = FP / (FP + TN) = 1 − especificidade
Essas taxas dependem de um limiar de decisão (decision threshold) se o modelo produz probabilidades/escores.
Acurácia (e por que ela pode ser enganosa)
Acurácia (accuracy) = (TP + TN) / (TP + FP + TN + FN)
Compensação:
- Prós: Simples, intuitiva quando as classes são balanceadas e os custos são simétricos.
- Contras: Enganosa sob desbalanceamento de classes (por exemplo, 99% negativo → sempre prever negativo dá 99% de acurácia).
Se houver desbalanceamento, considere:
- Acurácia balanceada (balanced accuracy) = (TPR + TNR) / 2
- Ou métricas que focam na classe positiva (precisão/revocação, AUC PR)
Veja Desbalanceamento de Classes para orientações mais profundas.
Precisão, revocação e a compensação precisão–revocação
Precisão e revocação tipicamente entram em compensação à medida que você move o limiar:
- Limiar menor → mais positivos previstos → maior revocação, menor precisão
- Limiar maior → menos positivos previstos → menor revocação, maior precisão
Casos de uso:
- Alta revocação: triagem médica (não perder casos), triagem de detecção de fraude
- Alta precisão: aplicação automatizada, intervenções caras, capacidade limitada de revisão
Uma métrica combinada comum é o F1 (F1 score):
F1 = 2 · (precisão · revocação) / (precisão + revocação)
Compensação:
- Prós: Um único número balanceando precisão e revocação.
- Contras: Ignora TN completamente; pode ser inadequado se verdadeiros negativos importam ou se os custos são assimétricos de uma forma mais específica.
Variantes:
- Fβ (Fβ) dá mais peso à revocação (β>1) ou à precisão (β<1).
Curva ROC e AUROC
Uma curva ROC (ROC curve) plota TPR vs. FPR ao longo de limiares. A AUROC (AUROC) resume a curva em um único número.
Interpretação:
- AUROC equivale à probabilidade de que um positivo aleatório receba um escore maior do que um negativo aleatório (uma interpretação de ranqueamento).
Compensações:
- Prós: Independente de limiar; robusta a transformações monótonas do escore; amplamente usada.
- Contras: Pode parecer otimista demais em problemas altamente desbalanceados porque a FPR pode permanecer pequena mesmo com muitos falsos positivos em termos absolutos.
Se positivos são raros, curvas PR frequentemente são mais informativas.
Relacionado: Característica de Operação do Receptor (ROC)
Curva Precisão–Revocação e Precisão Média (AP)
Uma curva PR (PR curve) plota precisão vs. revocação ao longo de limiares. A Precisão Média (Average Precision, AP) (frequentemente chamada de AUC PR) a resume.
Compensações:
- Prós: Mais sensível ao desempenho na classe positiva; frequentemente preferida sob forte desbalanceamento.
- Contras: Mais sensível à prevalência; comparar AP entre conjuntos de dados com taxas base diferentes pode ser complicado.
Métricas sensíveis a probabilidade: perda logarítmica e pontuação de Brier
Se seu modelo produz probabilidades (por exemplo, 0,9 significa “90% provável”), você deve avaliá-las como probabilidades.
Perda logarítmica (log loss) (entropia cruzada (cross-entropy) / log-verossimilhança negativa (negative log-likelihood)) penaliza fortemente previsões erradas e confiantes:
Para rótulos binários (y \in {0,1}) e probabilidade prevista (p): [ \text{LogLoss} = -\left(y \log p + (1-y)\log(1-p)\right) ]
A pontuação de Brier (Brier score) é o erro quadrático médio sobre probabilidades: [ \text{Brier} = (p - y)^2 ]
Compensações:
- Prós: Regras de pontuação próprias (minimizadas pelas probabilidades verdadeiras); incentivam probabilidades calibradas.
- Contras: Menos diretamente interpretáveis como “resultado de negócio”; sensíveis a ruído nos rótulos e a má calibração de probabilidade.
Se limiares de decisão importam, você pode acompanhar tanto uma métrica de probabilidade (perda logarítmica) quanto uma métrica de decisão (F1, custo).
Veja Calibração para diagnosticar e melhorar a qualidade das probabilidades.
Métricas para dados desbalanceados
Escolhas comuns e robustas:
- AUC PR / AP
- Precisão em revocação fixa (por exemplo, “precisão quando revocação ≥ 0,95”)
- Revocação em precisão fixa
- Acurácia balanceada
- MCC (coeficiente de correlação de Matthews, Matthews correlation coefficient): uma medida tipo correlação usando as quatro células da matriz de confusão; frequentemente mais informativa do que F1 quando TN importa.
- Kappa de Cohen (Cohen’s kappa): ajusta a acurácia para concordância ao acaso (mais comum em cenários de anotação).
Classificação multiclasse e multirrótulo
Para multiclasse (um único rótulo por exemplo), extensões comuns incluem:
- Média macro (macro average): computa a métrica por classe e depois faz a média (trata todas as classes igualmente).
- Média micro (micro average): agrega todas as decisões (ponderada pela frequência de classes).
- Macro ponderada (weighted macro): como macro, mas ponderada pelo suporte (contagens por classe).
Compensações:
- Macro evidencia desempenho em classes raras; micro pode escondê-lo.
Para multirrótulo (múltiplos rótulos por exemplo):
- Métricas por exemplo (acurácia por subconjunto é muito rígida)
- Precisão/revocação/F1 por rótulo (micro/macro)
- Métricas de ranqueamento (se rótulos são pontuados)
Exemplo prático: a escolha de limiar muda “o melhor modelo”
Imagine um modelo de fraude com probabilidades previstas. Dois modelos podem ter AUROC similar, mas resultados muito diferentes em um limiar operacional.
import numpy as np
from sklearn.metrics import (
roc_auc_score, average_precision_score, f1_score,
precision_score, recall_score, log_loss
)
y_true = np.array([0,0,0,0,0,1,1,1,1,1])
p_model_a = np.array([0.1,0.2,0.05,0.4,0.3,0.6,0.7,0.8,0.9,0.55])
p_model_b = np.array([0.01,0.02,0.03,0.04,0.05,0.45,0.55,0.6,0.65,0.7])
for name, p in [("A", p_model_a), ("B", p_model_b)]:
print(name,
"AUROC", roc_auc_score(y_true, p),
"AP", average_precision_score(y_true, p),
"LogLoss", log_loss(y_true, p))
# Suppose operations require a hard decision at threshold=0.6
thr = 0.6
for name, p in [("A", p_model_a), ("B", p_model_b)]:
y_pred = (p >= thr).astype(int)
print(name,
"Precision", precision_score(y_true, y_pred),
"Recall", recall_score(y_true, y_pred),
"F1", f1_score(y_true, y_pred))
Conclusão: sempre avalie métricas que correspondam a como as previsões serão usadas (com limiar vs. ranqueadas vs. probabilísticas).
Métricas de regressão
Regressão prevê um valor real (preço, tempo, temperatura). A pergunta-chave é: que tipo de erro importa?
MAE, MSE, RMSE: erro absoluto vs. quadrático
Seja o resíduo (e = y - \hat{y}).
MAE (erro absoluto médio, Mean Absolute Error) = mean(|e|)
- Prós: Robusto a outliers; corresponde à regressão da mediana (L1).
- Contras: Não é diferenciável em 0 (raramente é um problema prático); trata todos os erros linearmente.
MSE (erro quadrático médio, Mean Squared Error) = mean(e²)
- Prós: Penaliza fortemente erros grandes; boas propriedades matemáticas; alinha-se a suposições de ruído Gaussiano.
- Contras: Muito sensível a outliers.
RMSE (raiz do erro quadrático médio, Root Mean Squared Error) = sqrt(MSE)
- Prós: Mesmas unidades do alvo; interpretável como “magnitude típica do erro”.
- Contras: Ainda sensível a outliers por causa do quadrado internamente.
Regra prática:
- Use MAE quando existem outliers ou quando o custo cresce ~linearmente.
- Use RMSE/MSE quando erros grandes são desproporcionalmente ruins.
R² (coeficiente de determinação)
R² (coeficiente de determinação, coefficient of determination) mede a variância explicada em relação a prever a média:
[ R^2 = 1 - \frac{\sum (y-\hat{y})^2}{\sum (y-\bar{y})^2} ]
Compensações:
- Prós: Independente de escala; intuitivo como “melhora sobre a linha de base da média”.
- Contras: Pode ser negativo; pode ser enganoso para objetivos não lineares; não é uma medida direta da magnitude do erro.
Erros percentuais: MAPE e similares
- MAPE (erro percentual absoluto médio, Mean Absolute Percentage Error) = mean(|e / y|)
Compensações:- Prós: Independente de escala, intuitivo em contextos de negócio.
- Contras: Indefinido ou instável quando (y) está perto de 0; tende a enviesar para subprevisão quando os valores variam muito.
Alternativas:
- sMAPE (MAPE simétrico, symmetric MAPE): mitiga, mas não elimina, problemas.
- Avalie em uma escala transformada (por exemplo, log) se razões importam.
Perda de Huber: um compromisso robusto
A perda de Huber (Huber loss) se comporta como MSE para erros pequenos e como MAE para erros grandes.
Compensação:
- Prós: Mais robusta que MSE, mantendo suavidade perto de zero.
- Contras: Requer um hiperparâmetro de limiar (delta).
Perda quantílica (pinball loss) para regressão quantílica
Às vezes você quer a previsão do percentil 90, não a média (por exemplo, “tempo de entrega tal que 90% cheguem antes”).
Para quantil (q\in(0,1)), a perda pinball (pinball loss) penaliza subprevisão vs. superprevisão de forma assimétrica.
Isso se conecta naturalmente a Estimativa de Incerteza e a intervalos de predição.
Exemplo prático em regressão: MAE vs. RMSE
Se a maioria das previsões é próxima, mas algumas estão muito erradas, RMSE vai aumentar muito mais do que MAE.
import numpy as np
y = np.array([10, 12, 11, 13, 12, 100]) # last point is extreme
yhat_good = np.array([10, 12, 10, 13, 13, 90]) # one big miss (10 error)
yhat_bad = np.array([10, 12, 10, 13, 13, 50]) # huge miss (50 error)
def mae(a,b): return np.mean(np.abs(a-b))
def rmse(a,b): return np.sqrt(np.mean((a-b)**2))
print("Good MAE/RMSE:", mae(y,yhat_good), rmse(y,yhat_good))
print("Bad MAE/RMSE:", mae(y,yhat_bad), rmse(y,yhat_bad))
Conclusão: escolha uma métrica cuja curva de penalidade corresponda ao seu custo real de erros no mundo real.
Métricas de ranqueamento e recuperação
Problemas de ranqueamento incluem busca, sistemas de recomendação, ranqueamento de anúncios e recuperação de candidatos. A saída costuma ser uma lista ordenada, às vezes com escores.
Duas distinções-chave:
- Avaliação ponto a ponto vs. por lista (pointwise vs. listwise): pontuar itens individuais vs. listas ranqueadas inteiras.
- Relevância binária vs. relevância graduada (binary relevance vs. graded relevance): relevante/irrelevante vs. múltiplos níveis (por exemplo, “muito relevante”, “pouco relevante”).
Precisão@K e Revocação@K
- Precisão@K (Precision@K): fração dos itens no top-K que são relevantes.
- Revocação@K (Recall@K): fração de todos os itens relevantes que aparecem no top-K.
Compensações:
- Precisão@K reflete a experiência do usuário quando ele só vê os primeiros resultados.
- Revocação@K é importante quando perder itens relevantes é custoso (por exemplo, descoberta jurídica, busca em literatura médica).
- Ambas dependem de K e de como “relevante” é definido.
Taxa de acerto@K e acurácia Top-K
- Hit@K (Hit Rate@K) (comum em recomendação): 1 se qualquer item relevante estiver no top K, caso contrário 0, em média ao longo de consultas/usuários.
- Acurácia Top-K (Top-K accuracy) (tipo classificação): o rótulo verdadeiro está entre as K classes previstas.
Compensação: muito grosseira; pode esconder a qualidade do ranqueamento dentro do top K.
MRR (posto recíproco médio)
MRR (Mean Reciprocal Rank) foca na posição do primeiro item relevante: [ \text{RR} = \frac{1}{\text{rank of first relevant}} ]
Compensações:
- Prós: Ótima quando usuários param após o primeiro bom resultado (QA, busca navegacional).
- Contras: Ignora múltiplos itens relevantes depois do primeiro.
MAP (média da precisão média)
A Precisão Média (AP) por consulta faz a média da precisão nos ranks em que itens relevantes ocorrem; MAP (Mean Average Precision) faz a média ao longo das consultas.
Compensações:
- Prós: Recompensa colocar todos os itens relevantes cedo.
- Contras: Assume relevância binária; pode ser menos apropriada para relevância graduada.
NDCG (ganho cumulativo descontado normalizado)
Para relevância graduada, DCG (Discounted Cumulative Gain) desconta a relevância por log(rank), e NDCG (Normalized Discounted Cumulative Gain) normaliza pelo ranqueamento ideal.
Compensações:
- Prós: Lida com relevância graduada; enfatiza o topo via desconto; amplamente usada em recuperação de informação (information retrieval, IR).
- Contras: Requer julgamentos de relevância; valores da métrica dependem da função de desconto e do esquema de rotulagem.
Métrica de ranqueamento por pares: AUC como “probabilidade de ranqueamento”
AUC (AUROC) também pode ser vista como uma métrica de ranqueamento: probabilidade de um positivo aleatório ser ranqueado acima de um negativo aleatório. Isso é útil quando você se importa mais com a ordenação por pares do que com o top-K.
Compensações:
- AUC não foca no topo da lista; NDCG/Precisão@K frequentemente se alinham melhor com ranqueamento voltado ao usuário.
Compensações e modos de falha entre métricas
Dependentes de limiar vs. independentes de limiar
- Dependentes de limiar: acurácia, precisão/revocação/F1, especificidade, métricas baseadas em custo.
- Independentes de limiar: AUROC, AP (na maior parte), perda logarítmica/pontuação de Brier (não exigem limiar, mas assumem probabilidades).
Se a implantação usa um limiar, você deve avaliar nesse limiar (ou otimizá-lo em dados de validação e então fixá-lo para teste/produção).
Qualidade de ranqueamento vs. calibração de probabilidade
Um modelo pode ranquear itens corretamente, mas produzir probabilidades mal calibradas.
- AUROC/AP/NDCG podem ser altas mesmo se as probabilidades estiverem erradas.
- Perda logarítmica/pontuação de Brier e métricas de calibração (por exemplo, ECE (Expected Calibration Error)) diagnosticam a qualidade das probabilidades.
Isso é central em Calibração.
Agregação pode esconder recortes importantes
Uma única métrica média sobre todos os usuários/regiões/idiomas pode parecer boa enquanto falha gravemente em uma coorte minoritária. Use:
- Métricas por recorte
- Relato do pior recorte ou baseado em percentis
- Intervalos de confiança por recorte (tamanhos de amostra variam)
Veja Análise de Erros (Fatiamento).
“Jogar com a métrica” e desalinhamento de proxy
Otimizar a métrica errada pode produzir “números melhores”, mas piores resultados:
- Otimizar F1 pode reduzir a qualidade de calibração.
- Otimizar RMSE pode dar peso excessivo a outliers em relação ao custo real.
- Otimizar NDCG@10 pode ignorar necessidades de recuperação de cauda longa.
Alinhe as métricas ao objetivo e monitore métricas secundárias para evitar regressões.
Confiabilidade estatística e incerteza
Métricas são estimativas a partir de dados finitos. Diferenças podem ser apenas ruído a menos que você quantifique a incerteza:
- Intervalos de confiança (reamostragem bootstrap (bootstrap))
- Testes pareados (paired tests) para avaliação offline (offline evaluation)
- Testes A/B online (online A/B tests) com análise de poder (power analysis)
Veja Desenho Experimental e Poder e Validação e Validação Cruzada.
Orientação prática: “receitas” de métricas por tipo de problema
Classificação binária (balanceada, custos simétricos)
Acompanhe:
- Acurácia
- AUROC
- Perda logarítmica (se probabilidades forem usadas)
Classificação binária (positivos raros)
Acompanhe:
- AP (AUC PR)
- Precisão@revocação-alvo (ou revocação@precisão-alvo)
- Matriz de confusão no limiar de operação
- Calibração se probabilidades direcionarem decisões a jusante
Leia também: Desbalanceamento de Classes
Classificação multiclasse
Acompanhe:
- F1 macro (sensibilidade a classes raras)
- F1 micro (geral)
- Acurácia Top-K (se a interface mostrar múltiplas opções)
- Matriz de confusão e revocação por classe
Regressão com outliers
Acompanhe:
- MAE (robusta)
- RMSE (sensibilidade a erros grandes)
- Possivelmente perda quantílica se intervalos de predição importarem
Busca / recomendação
Acompanhe:
- NDCG@K (relevância graduada)
- MAP ou AP (relevância binária)
- MRR (primeiro relevante)
- Revocação@K para estágios de geração de candidatos
Considere também avaliar separadamente para:
- Consultas/itens de cabeça vs. cauda
- Usuários novos vs. recorrentes
- Cenários de partida a frio (cold-start)
Notas de implementação e armadilhas comuns
- Sempre reporte o ponto de operação (operating point): Se você reportar precisão/revocação/F1, inclua o limiar e como ele foi escolhido.
- Cuidado com vazamento de dados (leakage): Estimativas de métricas são inválidas se decisões de ajuste usaram dados de teste. Use separações adequadas e Validação e Validação Cruzada.
- Trate empates e rótulos ausentes em ranqueamento com cuidado (defina desempate determinístico; garanta que rótulos de relevância sejam completos o suficiente para a métrica).
- Compare com linhas de base (baselines): Sempre inclua linhas de base triviais (classe majoritária, preditor pela média, ranqueamento heurístico simples).
- Monitore ao longo do tempo: Uma métrica pode derivar devido a mudança de distribuição (data shift) mesmo que o modelo não mude; combine métricas com monitoramento de deriva e calibração quando probabilidades importarem.
Resumo
Métricas não são intercambiáveis. Elas codificam o que você valoriza:
- Métricas de classificação envolvem compensações entre falsos positivos vs. falsos negativos, dependência de limiar e qualidade de probabilidade.
- Métricas de regressão envolvem compensações entre robustez vs. penalização de erros grandes, e interpretação de erro absoluto vs. relativo.
- Métricas de ranqueamento envolvem compensações entre qualidade no topo da lista vs. ordenação global, e relevância binária vs. graduada.
Uma prática forte de avaliação usa:
- Uma métrica primária alinhada ao objetivo real
- Métricas secundárias para capturar regressões e comportamento não intencional
- Relato por recortes e estimativas de incerteza para garantir que melhorias são reais e amplamente benéficas