Taux de faux positifs
5 fausses alertes parmi 100 cas réellement négatifs donnent un taux de faux positifs de 0,05 : 5 faux positifs divisés par 5 plus 95 vrais négatifs. Utile pour les dépistages, les filtres anti-spam ou l'axe horizontal d'une courbe ROC. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Faux positifs
- 5
- Vrais négatifs
- 95
- Négatifs de la condition
- 100
- Taux de faux positifs
- 0,05
Le taux de faux positifs, aussi appelé fall-out ou taux d’erreur de type I d’un classifieur binaire, est la part des négatifs réels qui ont été signalés à tort comme positifs. Vous saisissez deux effectifs non négatifs —faux positifs et vrais négatifs— et ce calculateur renvoie le taux en décimal : FPR égale FP divisé par FP plus TN. Un FPR de 0.05 signifie que cinq pour cent des cas vraiment négatifs étaient de fausses alertes. Lorsque les deux effectifs sont nuls, il n’y a aucun cas négatif de condition et le taux est indéfini, si bien que l’appel échoue nettement.
Ce que mesure le taux de faux positifs et comment les deux effectifs se combinent
Le taux de faux positifs d’un classifieur binaire est la fraction des négatifs réels que le système a étiquetés à tort comme positifs. Dans le langage d’une matrice de confusion deux par deux, ces négatifs réels se partagent en deux cellules : les faux positifs, les fausses alertes, et les vrais négatifs, les cas que le système a correctement laissés tranquilles.
Leur somme est le nombre de cas négatifs de condition, et le taux de faux positifs est les faux positifs divisés par cette somme : FPR égale FP sur FP plus TN. La même grandeur s’appelle fall-out dans les articles de recherche d’information et vaut un moins la spécificité, car la spécificité est TN sur FP plus TN. Un FPR de zéro signifie que le classifieur n’a jamais levé de fausse alerte parmi les négatifs connus.
Un FPR de un signifie que chaque négatif réel a été signalé. La définition n’est qu’un rapport de deux effectifs, elle ne dépend donc pas du nombre de vrais positifs ou de faux négatifs observés : ces cellules appartiennent à la sensibilité, à la précision et à d’autres scores dérivés. Cette capacité ne demande donc que les deux effectifs qui figurent au dénominateur du FPR.
Elle n’invente ni intervalles de confiance, ni points ROC, ni valeurs p.
Où le taux de faux positifs compte vraiment
Les scripts d’évaluation d’apprentissage automatique ont besoin d’un calculateur déterministe de taux de faux positifs qui ne renvoie jamais Infinity en silence lorsqu’un jeu de réserve n’a aucun négatif réel. Les tutoriels médicaux et de dépistage utilisent le FPR pour expliquer le coût d’un test sensible : chaque faux positif est une personne saine envoyée en suivi, et le taux est ces personnes divisées par tous les vraiment sains qui ont été testés.
Les files de pourriel, de fraude et de modération surveillent ce nombre parce que chaque fausse alerte consomme un créneau de relecture humaine, et elles veulent le décimal, non une chaîne de pourcentage, pour le tracer à côté d’un budget. Un échec de validation ne consomme pas le solde. Gardez les deux effectifs non négatifs, refusez une cellule de vrais négatifs négative, et vous obtenez un FPR reproductible pour les devoirs, la CI et les rapports de production, sans dresser votre propre pile statistique.
Cas d’usage
Évaluation de classifieurs et notes ROC
Transformez une paire de réserve d’effectifs FP et TN en le taux décimal de faux positifs utilisé comme axe des x d’une courbe ROC.
Dépistage et enseignement des tests médicaux
Montrez combien de personnes saines un test enverrait en suivi en divisant les faux positifs par tous les négatifs réels.
Devoirs et correction automatique dans un LMS
Notez des items de FPR avec un oracle déterministe qui refuse un effectif de vrais négatifs négatif et n’invente jamais Infinity.
Questions fréquentes
Que se passe-t-il si l’effectif des vrais négatifs est négatif ?
Un effectif de vrais négatifs négatif n’est pas une cellule valide d’une matrice de confusion, donc aucun taux n’est inventé. Ces échecs ne sont pas facturés.
Le résultat est-il un pourcentage ou un décimal ?
Un décimal sur l’intervalle unité. Cinq faux positifs et quatre-vingt-quinze vrais négatifs renvoient 0.05, pas 5. Multipliez par 100 seulement si vous avez besoin d’un pourcentage à l’affichage.
Quel lien entre le taux de faux positifs et la spécificité ?
Leur somme vaut un. La spécificité est la part de vrais négatifs parmi tous les négatifs réels, donc le taux de faux positifs vaut un moins la spécificité. Un taux de 0,05 signifie que 95 % des négatifs ont été correctement laissés de côté.
Pourquoi les vrais positifs et les faux négatifs ne sont-ils pas nécessaires ?
Parce que le taux de faux positifs ne concerne que les cas réellement négatifs. Les vrais positifs et les faux négatifs relèvent d'autres mesures, comme la sensibilité ou la précision, et ne modifient pas ce taux.
Que se passe-t-il si les deux effectifs sont nuls ?
Le calcul est refusé. Sans faux positifs ni vrais négatifs, il n'existe aucun cas réellement négatif : le taux est alors indéfini, et non égal à zéro.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/stat/false-positive \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"false_positives":5,"true_negatives":95}'const res = await fetch("https://api.kit.forhosting.com/stat/false-positive", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"false_positives": 5,
"true_negatives": 95
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/false-positive",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"false_positives": 5,
"true_negatives": 95
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/false-positive", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"false_positives":5,"true_negatives":95}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"false_positives":5,"true_negatives":95}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/false-positive", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"false_positives": 5,
"true_negatives": 95
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.false_positive",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Lorsque l’effectif des vrais négatifs est négatif, la tâche échoue avec invalid_input au lieu d’inventer un taux à partir d’un décompte impossible. Les appels API réussis coûtent $0.002 ; une entrée invalide n’est pas facturée.
Ce que mesure le taux de faux positifs et comment les deux effectifs se combinent
Un FPR de 0.05 signifie que cinq cas sur cent vraiment négatifs étaient de faux positifs, forme décimale habituelle que cet endpoint renvoie plutôt qu’un pourcentage. Lorsque l’effectif des vrais négatifs est négatif, l’arithmétique décrirait un tableau impossible, donc la tâche échoue avec invalid_input. Lorsque les deux effectifs sont nuls, il n’existe aucune population négative de condition et le rapport est indéfini, donc l’appel échoue plutôt que de renvoyer NaN ou Infinity, qui casseraient les clients JSON.
Contrat d’entrée, forme de la réponse et comportement en cas d’erreur
Les deux effectifs doivent être supérieurs ou égaux à zéro. Le contrat publié est explicite : un effectif de vrais négatifs négatif est rejeté, car une cellule négative n’est pas un effectif et inverserait le sens du taux. Un effectif de faux positifs négatif est rejeté pour la même raison. Un échec de validation ne consomme pas le solde prépayé. Envoyez par POST un corps JSON avec deux nombres finis obligatoires : false_positives, le nombre de négatifs réels prédits comme positifs, et true_negatives, le nombre de négatifs réels prédits comme négatifs. Les alias fp et FP sont acceptés pour le premier champ ; tn et TN pour le second, afin que carnets et formulaires typés réutilisent les noms qu’ils ont déjà. Chaque champ peut arriver comme nombre JSON ou comme chaîne numérique ; les valeurs non finies, les champs manquants, les chaînes vides et les types non numériques échouent avec invalid_input en nommant le champ. La somme des deux effectifs doit être strictement supérieure à zéro : un tableau sans négatifs réels rend le FPR indéfini, et le message d’erreur le dit afin que correcteurs et clients API distinguent une classe négative vide d’une autre entrée incorrecte. En cas de succès, le corps répète les deux effectifs, renvoie condition_negatives comme leur somme, renvoie false_positive_rate comme un décimal nettoyé et inclut une courte chaîne de formule qui réaffirme FPR égale FP sur FP plus TN. Exemple : cinq faux positifs et quatre-vingt-quinze vrais négatifs donnent condition_negatives égal à cent et un false_positive_rate de 0.05. Associez cet endpoint à votre propre logiciel pour des courbes ROC ou des intervalles de Wilson si vous avez besoin d’une inférence au-delà de l’estimation ponctuelle ; cette capacité est volontairement un FPR analytique pur à partir de deux effectifs.
Où une API de taux de faux positifs justifie sa place
Les tableaux de bord produit qui stockent déjà des effectifs de confusion peuvent appeler l’API depuis un pipeline et ne conserver que le taux décimal, bon marché à suivre dans le temps.
Questions techniques
Comment calculer le taux de faux positifs à partir des effectifs ?
Envoyez false_positives (FP) et true_negatives (TN). L’API renvoie false_positive_rate = FP / (FP + TN) sous forme décimale, plus le total des négatifs de condition FP + TN.
Que se passe-t-il si les deux effectifs sont nuls ?
Le taux de faux positifs est indéfini lorsqu’il n’y a aucun négatif réel (FP + TN = 0). Le calculateur renvoie invalid_input au lieu de Infinity ou NaN.
Combien coûte le calculateur de taux de faux positifs ?
L’outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n’est pas facturée.