← Tous les exercices
Même accuracy, autres erreurs : le piège du seuil
Partie 5 · ★★
L'accuracy compte toutes les erreurs pareil. Sur les 8 radios, compare trois décisions : toujours « pneumonie », le seuil 0,5 et le seuil 0,3. La fonction matrice est fournie ; complète taux, qui renvoie (sensibilité, spécificité, précision, accuracy).
Sur le test complet, « toujours pneumonie » donne 390 bonnes réponses sur 624 : calcule cette référence. Que remarques-tu sur l'accuracy aux seuils 0,5 et 0,3, et sur leurs erreurs ?
probas = [0.90, 0.80, 0.65, 0.55, 0.35, 0.60, 0.40, 0.10] vraies = [1, 1, 1, 1, 1, 0, 0, 0] def matrice(dit, vraies): vp = sum(1 for d, v in zip(dit, vraies) if d == 1 and v == 1) fn = sum(1 for d, v in zip(dit, vraies) if d == 0 and v == 1) fp = sum(1 for d, v in zip(dit, vraies) if d == 1 and v == 0) vn = sum(1 for d, v in zip(dit, vraies) if d == 0 and v == 0) return vp, fn, fp, vn def taux(dit, vraies): vp, fn, fp, vn = matrice(dit, vraies) return vp / (vp + fn), vn / (vn + ___), vp / (vp + fp), (vp + vn) / ___ toujours = taux([1] * 8, vraies) seuil_05 = taux([1 if p >= 0.5 else 0 for p in probas], vraies) seuil_03 = taux([1 if p >= 0.3 else 0 for p in probas], vraies) reference_test = 390 / 624
Ctrl/⌘+Entrée