top of page

Précision

Précision

En machine learning, la précision est une métrique de performance, permettant de quantifier les performances d'un algorithme de classification. La précision est le nombre de vrais positifs divisé par le nombre de prédictions positives :

Où :

  • TP (True Positives) est le nombre de positifs prédits à raison par l'algorithme

  • FP (False Positives) est le nombre de positifs prédits à tort par l'algorithme


Interprétation de la précision


La précision se concentre sur le volume de faux positifs. Ainsi, elle peut être très pertinente pour les modèles pour lesquels un faux positif est grave, et où un faux négatif ne l’est pas trop. En revanche, elle peut mener à des modèles biaisés, qui classent trop d’observations dans la classe False. Elle est donc à combiner avec le rappel, qui dépend lui des faux négatifs. 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 précision 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 la précision 'weighted avg' est donc peu pertinente.



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.


Glossaire pour apprendre à coder sur Python

Apprenez à coder sur Python

avec des experts

Notre organisme de formation spécialisé dans le langage Python et la Data Science forme les débutants et perfectionne les experts sur ce langage informatique. Pourquoi pas vous?

Des questions?

Contact Expert Python

Un formateur Python vous répond très vite

bottom of page