Rappel
Rappel
En machine learning, le rappel (recall en anglais) est une métrique de performance, permettant de quantifier les performances d'un algorithme de classification. Le rappel est le nombre de vrais positifs divisé par le nombre de positifs réels :

Où :
TP (True Positives) est le nombre de positifs prédits à raison par l'algorithme
FN (False Negatives) est le nombre de négatifs prédits à tort par l'algorithme
Interprétation du rappel
La mesure du rappel est la plus pertinente lorsqu’il s’agit de minimiser le nombre de faux négatifs. En revanche, elle ne prend pas en compte le nombre de faux positifs. De la même façon que lorsqu’on ne s’intéresse qu’à la précision, l’étude du rappel seul peut mener à un biais dans le modèle, en faveur de la classe True cette fois. Il est donc important de combiner le rappel et la précision. Le F1-Score permet de calculer la moyenne harmonique de la précision et du rappel, pour obtenir une métrique de performance qui prend en compte les faux positifs comme les faux négatifs.
Il est de plus utile de calculer la courbe d’apprentissage, pour détecter un éventuel sur-apprentissage. Par ailleurs, il faut savoir interpréter ces mesures de performance, qui ne sont que des outils, et qui ne prennent pas en compte le coût des erreurs. Enfin, il est conseillé d’afficher la répartition des erreurs dans les classes, pour identifier un éventuel biais de l’algorithme, qui pourrait ne pas se refléter dans une mesure de performance, si les classes étaient trop déséquilibrées.
Syntaxe Python
Grâce à la bibliothèque Scikit-learn de Python, on peut calculer rapidement le rapport de classification d'un algorithme, avec la syntaxe suivante :

Ce rapport contient entre autres les scores de rappel pour chaque classe, ainsi que la moyenne sur toutes les classes ('macro avg') et la moyenne pondérée par la taille des classes ('weighted avg'). La colonne 'support' donne la taille de chaque classe, ce qui est permet de savoir si les classes sont déséquilibrées, et si le rappel 'weighted avg' est donc peu pertinent.
Voir aussi : all(), any(), append(), count(), enumerate(), extend(), filter(), float() format() input(), int(), isdigit(), isinstance(), items(), join(), endswith(), list(), map(), max(), mean(), min(), pop(), range(), len(), startswith(), zip(), type(), get(), symmetric_difference(), keys(), difference()
Numpy : arange(), array(), delete(), hsplit(), hstack(), linspace(), logical_and(), logical_or(), polyfit()
Pandas : concat(), concatenate(), describe(), dict(), drop_duplicates(), dropna(), fillna(), from_dict(), groupby(), head(), iloc, info(), insert(), isin(), melt(), merge(), pivot_table(), read_csv(), read_excel(), rename(), where()
Machine Learning : F1-Score, Précision, Rappel, Normalisation, Courbe d’apprentissage, Les résidus, Régression VS classification, Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Accuracy, L’astuce du noyau, Bases d’apprentissage et de test, Classes linéairement séparables, Apprentissage supervisé VS non-supervisé, Coefficient de détermination R2, Validation croisée
N'hésitez pas à consulter nos formations sur cette page.