top of page

Accuracy

Accuracy

En machine learning, l'accuracy (ou exactitude) est une métrique de performance, permettant de quantifier les performances d'un algorithme de classification. L'accuracy est le nombre de prédictions correctes, divisé par le nombre de prédiction réalisées :


Interprétation de l'accuracy


L’accuracy d’un modèle a l’avantage d’être une métrique de performance à la formule intuitive. Elle donne la proportion de prédictions correctes sur la base de test. De plus, elle est calculable quelle que soit le nombre de classes du problème. Cependant, elle n’est pas satisfaisante dans le cas de classes déséquilibrées. En effet, imaginons un problème biclasse dans lequel la classe False contient 95% des observations de la base de test, et la classe True les 5% restants. Imaginons maintenant un modèle dont la prédiction serait False pour toutes les observations. L’exactitude de ce modèle serait de 95%, soit élevée, malgré son taux d’erreur de 100% pour toutes les observations qui auraient dû être classées en True. Enfin l’accuracy ne prend pas en compte ni la répartition des erreurs dans les différentes classes, ni leur gravité : la mauvaise attribution d’une observation peut avoir des conséquences plus graves selon la classe dans laquelle elle aurait dû être classée réellement.


Il faut savoir interpréter Les mesures de performance, qui ne sont que des outils, et qui ne prennent pas en compte le coût des erreurs. Il est de plus 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. Enfin, il est utile de calculer la courbe d’apprentissage, pour détecter un éventuel sur-apprentissage


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 le score d'accuracy du modèle, dans la ligne 'accuracy'. La colonne 'support' donne aussi la taille de chaque classe, ce qui est permet de savoir si les classes sont déséquilibrées.



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