Rappel (Recall)
Le rappel (ou Recall en anglais), également appelé sensibilité (Sensitivity) ou taux de vrais positifs (True Positive Rate), est une métrique essentielle en classification, particulièrement lorsqu’il est crucial de ne pas manquer de cas positifs.
Le rappel mesure la capacité d’un modèle à identifier correctement tous les éléments positifs d’un ensemble de données. En d’autres termes, il répond à la question suivante :
Parmi tous les cas réellement positifs, combien le modèle en a-t-il trouvés ?
Formule mathématique
-
VP (Vrai Positif) : le modèle prédit positif et c’est correct.
-
FN (Faux Négatif) : le modèle prédit négatif alors que c’était positif.
Fonctions :
-
recall_score()
La fonction recall_score() calcule le rappel (ou "recall") d'un modèle de classification.
Importation :
from sklearn.metrics import recall_score
Attributs :
Paramètre Type Valeur par défaut Description y_true array-like Les vraies étiquettes (valeurs cibles). y_pred array-like Les étiquettes prédites par le modèle. labels array-like, optional None Liste des étiquettes de classe à prendre en compte pour le calcul. Si None, toutes les classes présentes dans les prédictions sont utilisées. pos_label str or int, optional 1 Spécifie l'étiquette de la classe positive. Par défaut, il s'agit de 1. average str, optional None Le type de moyenne à calculer : - 'binary' : pour les problèmes binaires. - 'micro' : calcule le rappel globalement pour toutes les classes. - 'macro' : calcule le rappel de chaque classe individuellement, puis en fait la moyenne. - 'weighted' : calcule la moyenne pondérée des rappels, en fonction du support de chaque classe. sample_weight array-like, optional None Poids à attribuer aux échantillons lors du calcul. Exemple de code :
from sklearn.metrics import recall_score # Vraies étiquettes (y_true) et étiquettes prédites (y_pred) y_true = [0, 1, 1, 0, 1, 1, 0, 0, 1, 0] y_pred = [0, 0, 1, 0, 1, 1, 0, 1, 1, 0] # Calcul du rappel recall = recall_score(y_true, y_pred) # Affichage du rappel print("Rappel : ", recall)
Explication du code :
-
Vraies étiquettes (y_true) : Ce sont les valeurs réelles du jeu de données. Par exemple,
[0, 1, 1, 0, 1, 1, 0, 0, 1, 0]
pourrait représenter des étiquettes réelles pour un jeu de données de 10 instances. -
Étiquettes prédites (y_pred) : Ce sont les étiquettes que le modèle a prédite pour ces mêmes instances, par exemple,
[0, 0, 1, 0, 1, 1, 0, 1, 1, 0]
. -
Calcul du rappel : La fonction
recall_score(y_true, y_pred)
calcule le rappel du modèle en comparant les étiquettes réelles (y_true
) aux étiquettes prédites (y_pred
). Le rappel est une mesure de la capacité du modèle à capturer toutes les instances positives. -
Affichage : Le résultat du rappel est affiché, indiquant la proportion des vraies instances positives que le modèle a correctement identifiées. Une valeur de rappel élevée signifie que le modèle a bien capturé les exemples positifs, tandis qu'une valeur basse suggère que le modèle a manqué des instances positives importantes.
Applications :
-
Problèmes où manquer une instance positive est critique : Par exemple, dans la détection de maladies (où il est plus important de détecter tous les cas de maladie, même au prix de faux positifs).
-
Modèles déséquilibrés : Le rappel est particulièrement utile dans les jeux de données où une classe est beaucoup plus rare que l'autre, et où il est crucial de capturer le plus grand nombre possible d'instances positives.
-