Calcolatore di sensibilità e specificità
Con 90 veri positivi, 10 falsi negativi, 80 veri negativi e 20 falsi positivi, la sensibilità è del 90 % e la specificità dell'80 %. Inserisca i quattro conteggi della sua tabella e ottenga entrambi i tassi, pronti da citare. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Veri positivi
- 90
- Veri negativi
- 80
- Falsi positivi
- 20
- Falsi negativi
- 10
- Positivi reali
- 100
- Negativi reali
- 100
- Sensibilità
- 0,9
- Specificità
- 0,8
Sensibilità e specificità trasformano una matrice di confusione a quattro celle nelle due caratteristiche operative che un articolo diagnostico, una nota di screening o una rassegna di classificatori binari cita davvero. La sensibilità — detta anche tasso di veri positivi o recall — è la quota di positivi reali che il test cattura: veri positivi divisi per veri positivi più falsi negativi. La specificità — il tasso di veri negativi — è la quota di negativi reali che lascia correttamente non segnalati: veri negativi divisi per veri negativi più falsi positivi. Questo calcolatore di sensibilità e specificità accetta quei quattro conteggi e restituisce entrambi i tassi come proporzioni sull'intervallo unitario e come percentuali.
Che cosa misurano sensibilità e specificità in una tabella 2×2
Un test o un classificatore binario ripartisce le osservazioni in quattro celle: veri positivi, veri negativi, falsi positivi e falsi negativi. La sensibilità risponde a una di quelle domande: di chi ha davvero la condizione, o appartiene alla classe positiva, quale frazione ha segnalato la regola? La formula è i veri positivi sulla somma di veri positivi e falsi negativi — ogni positivo reale, catturato o mancato.
La specificità risponde alla domanda complementare: di chi è davvero libero dalla condizione, quale frazione la regola ha lasciato correttamente non segnalata? Quella formula è i veri negativi sulla somma di veri negativi e falsi positivi. Quelle identità sono anteriori alle schede di punteggio dell'apprendimento automatico.
Sono il linguaggio degli studi diagnostici, dei programmi di screening e dei manuali di epidemiologia, e non coincidono con il valore predittivo positivo né con quello negativo. I valori predittivi mescolano la prevalenza nelle stesse quattro celle; sensibilità e specificità non lo fanno. Un saggio molto sensibile può lasciare comunque un valore predittivo positivo modesto quando la malattia è rara, perché i falsi positivi sommergono i pochi casi veri.
Viceversa, un saggio specifico può perdere molti casi se la sua sensibilità è scarsa. Questa pagina si ferma ai due tassi. Non stima la prevalenza, non calcola rapporti di verosimiglianza né la probabilità post-test, e non comprime la tabella in una sola correlazione di Matthews né in un punteggio F1.
Quelle sono intenzioni di ricerca diverse, con pagine proprie. Qui Lei ottiene la coppia di caratteristiche operative a partire dai quattro conteggi che già possiede, come proporzioni sull'intervallo unitario, più le stesse cifre come percentuali così una sezione metodi può citare l'una o l'altra convenzione senza una seconda conversione.
Dove un calcolatore di sensibilità e specificità giustifica il proprio posto
I corsi di metodi diagnostici usano un calcolatore di sensibilità e specificità perché chi impara trasformi una tabella 2×2 pubblicata nei due tassi senza confonderli con i valori predittivi. Le note dei programmi di screening e i club di riviste citano spesso entrambe le caratteristiche operative di una coorte di validazione — mammografia, troponina, antigene rapido, un nuovo PCR — e chiamare un minuscolo estremo parse evita di trascinare un pacchetto statistico completo per quattro interi.
Non confonda questa pagina con una di probabilità post-test che prende sensibilità e specificità come ingressi, con una del teorema di Bayes che vuole anche un prior, né con una di correlazione di Matthews che comprime le stesse quattro celle in un solo coefficiente: qui l'intenzione di ricerca sono i due tassi stessi. Tenga le richieste piccole, fissi le proporzioni arrotondate nei test e otterrà sensibilità e specificità riproducibili per i compiti, i plugin LMS e i worker di bordo senza erigere un'infrastruttura di algebra simbolica propria.
Invii sempre conteggi non negativi e tratti una riga o una colonna di reali a zero come errore di contratto, non come un silenzio che afferma il cento per cento.
Casi d'uso
Tabelle diagnostiche 2×2 di una coorte di validazione
Trasformi conteggi pubblicati di veri positivi, veri negativi, falsi positivi e falsi negativi in sensibilità e specificità per una sezione metodi o un club di riviste.
Correzione automatica d'aula e LMS
Valuti voci di matrice di confusione con un oracolo deterministico che rifiuta qualsiasi conteggio negativo e non inventa mai un tasso quando il denominatore è zero.
Domande frequenti
Come si calcolano sensibilità e specificità?
La sensibilità è TP / (TP + FN), il tasso di veri positivi o recall. La specificità è TN / (TN + FP), il tasso di veri negativi. Entrambi tornano come proporzioni in [0, 1] e come percentuali.
Che cosa accade se un conteggio è un numero negativo?
I conteggi devono essere finiti e non negativi; non sono mai presi al valore assoluto.
Una cella può essere zero?
Sì. Una singola cella a zero è una tabella valida — per esempio un test senza falsi positivi. La sensibilità è rifiutata solo quando TP + FN è zero, e la specificità solo quando TN + FP è zero, perché quei tassi sono allora indefiniti.
In che cosa differisce dalla probabilità post-test o dal PPV?
Questo strumento calcola le due caratteristiche operative a partire dai quattro conteggi di cella. La probabilità post-test e il valore predittivo positivo mescolano la prevalenza (o una chance pre-test) in quelle celle e rispondono a un'altra domanda dopo che un esito è osservato.
Quanto costa il calcolatore di sensibilità e specificità?
Lo strumento del browser è gratuito e gira in locale.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"true_positives": 90,
"true_negatives": 80,
"false_positives": 20,
"false_negatives": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.sensitivity_and_specificity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Un conteggio negativo è rifiutato con invalid_input invece di essere piegato in un rapporto privo di senso. Le chiamate API riuscite costano $0.002.
Contratto di ingresso, forma della risposta e conteggi rifiutati
Un numero negativo in qualsiasi cella è rifiutato invece di essere preso in silenzio al valore assoluto: un cambio di segno in un'esportazione da foglio di calcolo non può diventare una sensibilità plausibile. Lo zero è ammesso in una singola cella, così uno screening perfetto senza falsi positivi è una tabella valida. Ciò che non è ammesso è un denominatore nullo: se veri positivi più falsi negativi è zero non ci sono positivi reali e la sensibilità è indefinita; se veri negativi più falsi positivi è zero non ci sono negativi reali e la specificità è indefinita. Quei casi falliscono invece di restituire NaN. Controllo classico: novanta veri positivi, dieci falsi negativi, ottanta veri negativi e venti falsi positivi producono sensibilità 0.9 e specificità 0.8. La convalida fallita non è fatturata. Invii un corpo JSON con quattro campi obbligatori. Il campo true_positives è la cella TP; l'alias tp è accettato. Il campo true_negatives è la cella TN; l'alias tn vi si mappa. Il campo false_positives è la cella FP; l'alias fp funziona in modo intercambiabile. Il campo false_negatives è la cella FN; l'alias fn è accettato. Ogni conteggio può arrivare come numero JSON o come stringa decimale ritagliata, inclusa la notazione scientifica per tabelle ponderate minuscole. Campi assenti, stringhe vuote e valori non finiti falliscono con invalid_input nominando il campo. In caso di successo il corpo ripete i quattro conteggi, segnala actual_positives e actual_negatives, restituisce sensitivity e specificity arrotondati a dodici decimali per goldens stabili, include gli stessi tassi come sensitivity_percent e specificity_percent su una scala da zero a cento, e riformula le due identità in formula. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item.
Dove un calcolatore di sensibilità e specificità giustifica il proprio posto
Le piattaforme di tutoraggio e i generatori d'esame hanno bisogno di un oracolo deterministico che segni una cella negativa come invalid_input invece di inventare un rapporto che nessuna tabella di conteggi può realizzare. Poiché l'implementazione è parse di livello A, ogni chiamata riuscita costa il $0.002 pubblicato, senza token di modello e senza rete in uscita.
Casi di integrazione
Rassegne di classificatori binari
Fissi fixture golden di recall e del tasso di veri negativi da una matrice di confusione nota affinché una ristrutturazione non alteri in silenzio le caratteristiche operative riportate.