Calculadora de sensibilidade e especificidade
Com 90 verdadeiros positivos, 10 falsos negativos, 80 verdadeiros negativos e 20 falsos positivos, a sensibilidade é de 90 % e a especificidade de 80 %. Informe as quatro contagens da sua tabela e receba as duas taxas, prontas para citar. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Verdadeiros positivos
- 90
- Verdadeiros negativos
- 80
- Falsos positivos
- 20
- Falsos negativos
- 10
- Positivos reais
- 100
- Negativos reais
- 100
- Sensibilidade
- 0,9
- Especificidade
- 0,8
Sensibilidade e especificidade transformam uma matriz de confusão de quatro células nas duas características de operação que um artigo diagnóstico, uma nota de rastreamento ou uma revisão de classificador binário realmente cita. A sensibilidade — também chamada taxa de verdadeiros positivos ou recall — é a fração de positivos reais que o teste captura: verdadeiros positivos divididos por verdadeiros positivos mais falsos negativos. A especificidade — a taxa de verdadeiros negativos — é a fração de negativos reais que o teste deixa corretamente sem marcar: verdadeiros negativos divididos por verdadeiros negativos mais falsos positivos. Esta calculadora de sensibilidade e especificidade aceita essas quatro contagens e devolve as duas taxas como proporções no intervalo unitário e como percentuais.
O que sensibilidade e especificidade medem em uma tabela 2×2
Um teste ou classificador binário reparte as observações em quatro células: verdadeiros positivos, verdadeiros negativos, falsos positivos e falsos negativos. A sensibilidade responde a uma dessas perguntas: de quem de fato tem a condição, ou pertence à classe positiva, que fração a regra marcou? A fórmula é verdadeiros positivos sobre a soma de verdadeiros positivos e falsos negativos — cada positivo real, capturado ou perdido.
A especificidade responde à pergunta complementar: de quem está de fato livre da condição, que fração a regra deixou corretamente sem marcar? Essa fórmula é verdadeiros negativos sobre a soma de verdadeiros negativos e falsos positivos. Essas identidades são anteriores aos cartões de pontuação do aprendizado de máquina.
São a linguagem dos estudos diagnósticos, dos programas de rastreamento e dos manuais de epidemiologia, e não coincidem com o valor preditivo positivo nem com o negativo. Os valores preditivos misturam a prevalência nas mesmas quatro células; sensibilidade e especificidade não misturam. Um ensaio muito sensível ainda pode deixar um valor preditivo positivo modesto quando a doença é rara, porque os falsos positivos afogam os poucos casos verdadeiros.
Inversamente, um ensaio específico pode perder muitos casos se a sensibilidade for fraca. Esta página para nas duas taxas. Não estima prevalência, não calcula razões de verossimilhança nem probabilidade pós-teste, e não comprime a tabela em uma única correlação de Matthews nem em uma pontuação F1.
Essas são intenções de busca diferentes, com páginas próprias. Aqui você obtém o par de características de operação a partir das quatro contagens que já tem, como proporções no intervalo unitário, e as mesmas cifras como percentuais para que uma seção de métodos cite qualquer uma das duas convenções sem uma segunda conversão.
Onde uma calculadora de sensibilidade e especificidade justifica o lugar
Cursos de métodos diagnósticos usam uma calculadora de sensibilidade e especificidade para que quem aprende transforme uma tabela 2×2 publicada nas duas taxas sem misturá-las com os valores preditivos. Notas de programas de rastreamento e clubes de revistas costumam citar as duas características de operação de uma coorte de validação — mamografia, troponina, antígeno rápido, um PCR novo — e chamar um extremo parse diminuto evita puxar um pacote estatístico completo por quatro inteiros.
Não confunda esta página com uma de probabilidade pós-teste que toma sensibilidade e especificidade como entradas, com uma de teorema de Bayes que também pede um prior, nem com uma de correlação de Matthews que comprime as mesmas quatro células em um único coeficiente: aqui a intenção de busca são as duas taxas em si. Mantenha as solicitações pequenas, fixe as proporções arredondadas nos testes e você obtém sensibilidade e especificidade reproduzíveis para lição de casa, plugins de LMS e workers de borda sem montar infraestrutura de álgebra simbólica própria.
Envie sempre contagens não negativas e trate uma linha ou coluna de reais em zero como erro de contrato, não como um silêncio que afirma cem por cento.
Casos de uso
Tabelas diagnósticas 2×2 de uma coorte de validação
Transforme contagens publicadas de verdadeiros positivos, verdadeiros negativos, falsos positivos e falsos negativos em sensibilidade e especificidade para uma seção de métodos ou um clube de revistas.
Correção automática de aula e LMS
Avalie itens de matriz de confusão com um oráculo determinístico que rejeita qualquer contagem negativa e nunca inventa uma taxa quando o denominador é zero.
Perguntas frequentes
Como se calculam a sensibilidade e a especificidade?
A sensibilidade é TP / (TP + FN), a taxa de verdadeiros positivos ou recall. A especificidade é TN / (TN + FP), a taxa de verdadeiros negativos. Ambas voltam como proporções em [0, 1] e como percentuais.
O que acontece se uma contagem for um número negativo?
As contagens precisam ser finitas e não negativas; nunca são tomadas pelo valor absoluto.
Uma célula pode ser zero?
Sim. Uma única célula zero é uma tabela válida — por exemplo um teste sem falsos positivos. A sensibilidade só é rejeitada quando TP + FN é zero, e a especificidade só quando TN + FP é zero, porque essas taxas ficam então indefinidas.
Em que isso difere da probabilidade pós-teste ou do PPV?
Esta ferramenta calcula as duas características de operação a partir das quatro contagens de célula. A probabilidade pós-teste e o valor preditivo positivo misturam a prevalência (ou uma chance pré-teste) nessas células e respondem a outra pergunta depois que um resultado é observado.
Quanto custa a calculadora de sensibilidade e especificidade?
A ferramenta do navegador é gratuita e roda no local.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/stat/sensitivity-and-specificity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"true_positives":90,"true_negatives":80,"false_positives":20,"false_negatives":10}'const res = await fetch("https://api.kit.forhosting.com/stat/sensitivity-and-specificity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"true_positives": 90,
"true_negatives": 80,
"false_positives": 20,
"false_negatives": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/sensitivity-and-specificity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"true_positives": 90,
"true_negatives": 80,
"false_positives": 20,
"false_negatives": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/sensitivity-and-specificity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"true_positives":90,"true_negatives":80,"false_positives":20,"false_negatives":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"true_positives":90,"true_negatives":80,"false_positives":20,"false_negatives":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/sensitivity-and-specificity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"true_positives": 90,
"true_negatives": 80,
"false_positives": 20,
"false_negatives": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.sensitivity_and_specificity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Uma contagem negativa é rejeitada com invalid_input em vez de ser dobrada em uma razão sem sentido. Chamadas de API bem-sucedidas custam US$ 0,002.
Contrato de entrada, forma da resposta e contagens rejeitadas
Um número negativo em qualquer célula é rejeitado em vez de ser tomado em silêncio pelo valor absoluto — uma inversão de sinal em uma exportação de planilha não pode virar uma sensibilidade plausível. Zero é permitido em uma única célula, de modo que um rastreamento perfeito sem falsos positivos é uma tabela válida. O que não se permite é denominador zero: se verdadeiros positivos mais falsos negativos é zero não há positivos reais e a sensibilidade fica indefinida; se verdadeiros negativos mais falsos positivos é zero não há negativos reais e a especificidade fica indefinida. Esses casos falham em vez de devolver NaN. Checagem clássica: noventa verdadeiros positivos, dez falsos negativos, oitenta verdadeiros negativos e vinte falsos positivos produzem sensibilidade 0.9 e especificidade 0.8. A validação malsucedida não é faturada. Envie um corpo JSON com quatro campos obrigatórios. O campo true_positives é a célula TP; o alias tp é aceito. O campo true_negatives é a célula TN; o alias tn mapeia para ele. O campo false_positives é a célula FP; o alias fp funciona de forma intercambiável. O campo false_negatives é a célula FN; o alias fn é aceito. Cada contagem pode chegar como número JSON ou como cadeia decimal aparada, inclusive notação científica para tabelas ponderadas minúsculas. Campos ausentes, cadeias vazias e valores não finitos falham com invalid_input nomeando o campo. No sucesso o corpo ecoa as quatro contagens, informa actual_positives e actual_negatives, devolve sensitivity e specificity arredondados a doze casas decimais para goldens estáveis, inclui as mesmas taxas como sensitivity_percent e specificity_percent numa escala de zero a cem, e reescreve as duas identidades em formula. O preço é um US$ 0,002 fixo por solicitação bem-sucedida com unidade item.
Onde uma calculadora de sensibilidade e especificidade justifica o lugar
Plataformas de tutoria e geradores de exame precisam de um oráculo determinístico que marque uma célula negativa como invalid_input em vez de inventar uma razão que nenhuma tabela de contagens pode realizar. Como a implementação é parse de nível A, cada chamada bem-sucedida custa o US$ 0,002 publicado, sem tokens de modelo e sem rede de saída.
Casos de integração
Revisões de classificador binário
Fixe fixtures golden de recall e da taxa de verdadeiros negativos a partir de uma matriz de confusão conhecida para que uma refatoração não altere em silêncio as características de operação relatadas.