Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment calculer le score F1 en Python (y compris un exemple)



Lors de l’utilisation de modèles de classification dans l’apprentissage automatique, une métrique courante que nous utilisons pour évaluer la qualité du modèle est le score F1 .

Cette métrique est calculée comme suit :

Score F1 = 2 * (Précision * Rappel) / (Précision + Rappel)

où:

  • Précision : Corriger les prédictions positives par rapport au total des prédictions positives
  • Rappel : Corriger les prédictions positives par rapport au total des positifs réels

Par exemple, supposons que nous utilisions un modèle de régression logistique pour prédire si 400 joueurs de basket-ball universitaires différents seront recrutés ou non dans la NBA.

La matrice de confusion suivante résume les prédictions faites par le modèle :

Voici comment calculer le score F1 du modèle :

Précision = Vrai Positif / (Vrai Positif + Faux Positif) = 120/ (120+70) = 0,63157

Rappel = Vrai Positif / (Vrai Positif + Faux Négatif) = 120 / (120+40) = 0,75

Score F1 = 2 * (.63157 * .75) / (.63157 + .75) = . 6857

L’exemple suivant montre comment calculer le score F1 pour ce modèle exact en Python.

Exemple : Calcul du score F1 en Python

Le code suivant montre comment utiliser la fonction f1_score() du package sklearn en Python pour calculer le score F1 pour un tableau donné de valeurs prédites et de valeurs réelles.

import numpy as np
from sklearn.metrics import f1_score

#define array of actual classes
actual = np.repeat([1, 0], repeats=[160, 240])

#define array of predicted classes
pred = np.repeat([1, 0, 1, 0], repeats=[120, 40, 70, 170])

#calculate F1 score
f1_score(actual, pred)

0.6857142857142857

On voit que le score F1 est de 0,6857 . Cela correspond à la valeur que nous avons calculée manuellement plus tôt.

Remarque : Vous pouvez trouver la documentation complète de la fonction f1_score() ici .

Notes sur l’utilisation des scores F1

Si vous utilisez le score F1 pour comparer plusieurs modèles, le modèle avec le score F1 le plus élevé représente le modèle le plus à même de classer les observations en classes.

Par exemple, si vous ajustez un autre modèle de régression logistique aux données et que ce modèle a un score F1 de 0,75, ce modèle sera considéré comme meilleur car il a un score F1 plus élevé.

Ressources additionnelles

Comment effectuer une régression logistique en Python
Comment créer une matrice de confusion en Python
Comment calculer la précision équilibrée en Python
Score F1 vs précision : lequel devriez-vous utiliser ?

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *