top of page

F1-Score

F1-Score

En machine learning, le F1-Score est une métrique de performance, permettant de faire la moyenne harmonique du rappel et de la précision. En effet, le rappel se concentre sur le volume de faux négatifs, en oubliant les faux positifs, et la précision se concentre à l'inverse sur le volume de faux positifs, en oubliant les faux négatifs. Le F1-Score permet de combiner ces deux métriques pour obtenir une seule métrique de performance, permettant d'évaluer l'ensemble des performances d'un modèle de classification.


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 le F1-Score de 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. La valeur se trouvant dans la ligne 'accuracy' et dans la colonne 'f1-score' représente l'accuracy, ou exactitude du modèle, et n'est en réalité pas un F1-Score.



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