0Pricing
Learn AI with Python · Aula

Análise aprofundada de métricas de classificação

Matriz de confusão, precisão, revocação, F1, ROC-AUC e curva PR — escolhendo a métrica adequada.

Análise aprofundada de métricas de classificação é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

A acurácia não é suficiente

A acurácia é a fração de previsões corretas, mas pode enganar em dados desbalanceados. Um modelo que prevê apenas a classe majoritária pode obter 99% de acurácia e ainda ser inútil para a classe minoritária.

A matriz de confusão

A matriz de confusão divide as previsões em verdadeiros positivos, falsos positivos, verdadeiros negativos e falsos negativos. Ela é a base de todas as outras métricas.

from sklearn.metrics import confusion_matrix

y_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 0, 1, 1]
print(confusion_matrix(y_true, y_pred))
# rows = actual, columns = predicted

Precisão

Precisão = TP / (TP + FP). De todos os itens classificados como positivos, quantos realmente são? Uma precisão alta significa poucos falsos alarmes. Isso é importante quando falsos positivos têm alto custo (por exemplo, filtros de mensagens indesejadas).

from sklearn.metrics import precision_score

print(precision_score(y_true, y_pred))

Revocação

Revocação = TP / (TP + FN). De todos os positivos reais, quantos foram detectados? Uma revocação alta significa poucas não detecções. Isso é importante quando falsos negativos têm alto custo (por exemplo, triagem de doenças).

from sklearn.metrics import recall_score

print(recall_score(y_true, y_pred))

Pontuação F1

A pontuação F1 é a média harmônica da precisão e da revocação: 2 * P * R / (P + R). Ela equilibra ambas e é útil quando você precisa de um único número em dados desbalanceados.

from sklearn.metrics import f1_score, classification_report

print(f1_score(y_true, y_pred))
print(classification_report(y_true, y_pred))

Curva ROC e AUC

A curva ROC representa a taxa de verdadeiros positivos em relação à taxa de falsos positivos para diferentes limiares. roc_auc_score a resume: 1,0 é perfeito e 0,5 corresponde a palpites aleatórios.

from sklearn.metrics import roc_auc_score

# needs probability scores, not hard labels
proba = model.predict_proba(Xte)[:, 1]
print(roc_auc_score(yte, proba))

Curva de precisão e revocação

A curva PR representa a precisão em relação à revocação para diferentes limiares. Ela é mais informativa do que a ROC quando as classes são muito desbalanceadas, pois se concentra na classe positiva.

from sklearn.metrics import precision_recall_curve

prec, rec, thresh = precision_recall_curve(yte, proba)
# plot rec (x) vs prec (y) to see the tradeoff

Precisão média

average_precision_score resume a curva PR em um único número (a área sob a curva PR). É a métrica de resumo preferida para classificação binária desbalanceada.

from sklearn.metrics import average_precision_score

print(average_precision_score(yte, proba))

ROC AUC versus precisão média

A ROC AUC pode parecer otimista em dados desbalanceados porque os verdadeiros negativos predominam. A precisão média ignora os verdadeiros negativos e reflete com mais honestidade o desempenho na classe positiva minoritária.

Escolhendo a métrica adequada

Use F1 ou precisão média para problemas desbalanceados. Use ROC AUC para avaliar a qualidade da ordenação em classes equilibradas. Escolha precisão quando falsos alarmes forem prejudiciais e revocação quando não detecções forem prejudiciais. Sempre defina sua prioridade antes de escolher.

Ajuste do limiar

A maioria das métricas depende do limiar de decisão (padrão: 0,5). Ao mover o limiar, você troca precisão por revocação. Use a curva PR para escolher um limiar que atenda ao seu requisito de negócio.

import numpy as np

# pick threshold for at least 0.9 precision
idx = np.argmax(prec >= 0.9)
chosen = thresh[idx]
preds = (proba >= chosen).astype(int)

Verificação rápida

Teste seus conhecimentos sobre métricas.

Recapitulação

Recapitulação: Comece pela confusion_matrix. A precisão penaliza falsos alarmes, a revocação penaliza não detecções e a F1 equilibra ambas. roc_auc_score mede a qualidade da ordenação; average_precision_score e a curva PR são melhores para dados desbalanceados. Ajuste o limiar de acordo com suas prioridades.

Perguntas Frequentes

A aula “Análise aprofundada de métricas de classificação” é grátis?

Sim — o texto completo de “Análise aprofundada de métricas de classificação” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Análise aprofundada de métricas de classificação”?

Matriz de confusão, precisão, revocação, F1, ROC-AUC e curva PR — escolhendo a métrica adequada. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Análise aprofundada de métricas de classificação”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Estratégias de validação cruzada
  2. Análise aprofundada de métricas de classificação
  3. Busca em grade e busca aleatória
  4. Otimização bayesiana com Optuna
← Voltar para Learn AI with Python