Classification binaire

Effectué

La classification, comme la régression, est une technique de Machine Learning supervisée  ; et suit donc le même processus itératif d’entraînement, de validation et d’évaluation des modèles. Au lieu de calculer des valeurs numériques comme un modèle de régression, les algorithmes utilisés pour entraîner des modèles de classification calculent les valeurs de probabilité pour l’affectation de classe et les métriques d’évaluation utilisées pour évaluer les performances du modèle comparent les classes prédites aux classes réelles.

Les algorithmes de classification binaire sont utilisés pour entraîner un modèle qui prédit l’une des deux étiquettes possibles pour une classe unique. En fait, prédire vrai ou faux. Dans la plupart des scénarios réels, les observations de données utilisées pour entraîner et valider le modèle se composent de plusieurs valeurs de caractéristique (x) et d’une valeur y comprise entre 1 ou 0.

Exemple : classification binaire

Pour comprendre le fonctionnement de la classification binaire, examinons un exemple simplifié qui utilise une seule fonctionnalité (x) pour prédire si l’étiquette y est 1 ou 0. Dans cet exemple, nous allons utiliser le niveau de glucose sanguin d’un patient pour prédire si le patient a ou non le diabète. Voici les données avec lesquelles nous allons entraîner le modèle :

Diagramme d’une seringue. Diagramme d’une personne diabétique et non diabétique.
Glucose sanguin (x) Diabétique? (y)
67 0
1:03 1
114 1
72 0
116 1
65 0

Formation d’un modèle de classification binaire

Pour entraîner le modèle, nous allons utiliser un algorithme pour ajuster les données d’entraînement à une fonction qui calcule la probabilité que l’étiquette de classe soit vraie (en d’autres termes, que le patient a le diabète). La probabilité est mesurée sous la forme d’une valeur comprise entre 0,0 et 1,0, de sorte que la probabilité totale pour toutes les classes possibles est de 1,0. Par exemple, si la probabilité d’un patient souffrant de diabète est de 0,7, il y a une probabilité correspondante de 0,3 que le patient n’est pas diabétique.

Il existe de nombreux algorithmes qui peuvent être utilisés pour la classification binaire, comme la régression logistique, qui dérive une fonction sigmoid (en forme de S) avec des valeurs comprises entre 0,0 et 1,0, comme suit :

Diagramme d’une fonction logistique.

Remarque

Malgré son nom, dans l'apprentissage automatique, la régression logistique est utilisée pour la classification, et non pour la régression. Le point important est la nature logistique de la fonction qu’elle produit, qui décrit une courbe en forme de S entre une valeur inférieure et supérieure (0,0 et 1,0 lorsqu’elle est utilisée pour la classification binaire).

La fonction produite par l’algorithme décrit la probabilité d’y être true (y=1) pour une valeur donnée de x. Mathématiquement, vous pouvez exprimer la fonction comme suit :

f(x) = P(y=1 | x)

Pour trois des six observations dans les données d’apprentissage, nous savons que y est certainement vrai, donc la probabilité de ces observations que y=1 est 1,0 et pour les trois autres, nous savons que y est certainement faux, donc la probabilité que y=1 soit 0,0. La courbe en forme de S décrit la distribution de probabilité afin que le tracé d’une valeur x sur la ligne identifie la probabilité correspondante que y est 1.

Le diagramme inclut également une ligne horizontale pour indiquer le seuil auquel un modèle basé sur cette fonction prédit true (1) ou false (0). Le seuil se trouve à la mi-point de y (P(y) = 0,5). Pour toutes les valeurs à ce stade ou version ultérieure, le modèle prédit true (1) ; tandis que pour toutes les valeurs inférieures à ce point, elle prédit false (0). Par exemple, pour un patient avec un taux de glucose sanguin de 90, la fonction entraînerait une valeur de probabilité de 0,9. Étant donné que 0,9 est supérieur au seuil de 0,5, le modèle prédit vrai (1) - en d’autres termes, le patient est prédit pour avoir le diabète.

Évaluation d’un modèle de classification binaire

Comme pour la régression, lors de l’entraînement d’un modèle de classification binaire, vous conservez un sous-ensemble aléatoire de données avec lequel valider le modèle entraîné. Supposons que nous avons conservé les données suivantes pour valider notre classifieur de diabète :

Glycémie (x) Diabétique? (y)
66 0
107 1
112 1
71 0
87 1
89 1

L’application de la fonction logistique que nous avons dérivée précédemment aux valeurs x entraîne le tracé suivant.

Diagramme des étiquettes prédites sur une courbe sigmoïde.

Selon que la probabilité calculée par la fonction est supérieure ou inférieure au seuil, le modèle génère une étiquette prédite de 1 ou 0 pour chaque observation. Nous pouvons ensuite comparer les étiquettes de classe prédites (ŷ) aux étiquettes de classe réelles (y), comme illustré ici :

Glycémie (x) Diagnostic réel du diabète (y) Diagnostic prédit du diabète (ŷ)
66 0 0
107 1 1
112 1 1
71 0 0
87 1 0
89 1 1

Métriques d’évaluation de classification binaire

La première étape du calcul des métriques d’évaluation pour un modèle de classification binaire consiste généralement à créer une matrice du nombre de prédictions correctes et incorrectes pour chaque étiquette de classe possible :

Diagramme d’une matrice de confusion.

Cette visualisation est appelée matrice de confusion et affiche les totaux de prédiction où :

  • ŷ=0 et y=0 : Vrais négatifs (TN)
  • ŷ=1 et y=0 : Faux positif (FP)
  • ŷ=0 et y=1 : Faux négatifs (FN)
  • ŷ=1 et y=1 : Vrais positifs (TP)

La disposition de la matrice de confusion est telle que les prédictions correctes (vraies) sont affichées dans une ligne diagonale de haut à gauche vers le bas à droite. Souvent, l’intensité des couleurs est utilisée pour indiquer le nombre de prédictions dans chaque cellule, donc un aperçu rapide d’un modèle qui prédit bien doit révéler une tendance diagonale profondément ombrée.

Précision

La métrique la plus simple que vous pouvez calculer à partir de la matrice de confusion est la précision , la proportion des prédictions que le modèle a obtenues correctement. La précision est calculée comme suit :

(TN+TP) ÷ (TN+FN+FP+TP)

Dans le cas de notre exemple de diabète, le calcul est :

(2+3) ÷ (2+1+0+3)

= 5 ÷ 6

= 0.83

Ainsi, pour nos données de validation, le modèle de classification du diabète a produit des prédictions correctes 83 % du temps.

La précision peut sembler initialement une bonne métrique pour évaluer un modèle, mais tenez compte de cela. Supposons que 11% de la population a le diabète. Vous pouvez créer un modèle qui prédit toujours 0, et il obtiendrait une précision de 89%, même si elle n’a aucune véritable tentative de différencier les patients en évaluant leurs caractéristiques. Ce dont nous avons vraiment besoin est une compréhension plus approfondie de la façon dont le modèle s’exécute pour prédire 1 pour les cas positifs et 0 pour les cas négatifs.

Rappeler

Rappel est une métrique qui mesure la proportion de cas positifs identifiés correctement par le modèle. En d’autres termes, par rapport au nombre de patients atteints de diabète, combien le modèle a-t-il prédit d’avoir le diabète ?

La formule de rappel est la suivante :

TP ÷ (TP+FN)

Pour notre exemple de diabète :

3 ÷ (3+1)

= 3 ÷ 4

= 0.75

Ainsi, notre modèle a correctement identifié 75% de patients atteints de diabète comme ayant effectivement le diabète.

Précision

La précision est une métrique similaire au rappel, mais mesure la proportion des cas positifs prédits où la véritable étiquette est réellement positive. En d'autres termes, quelle proportion des patients prédits par le modèle pour être atteints de diabète en souffrent réellement ?

La formule de précision est la suivante :

TP ÷ (TP+FP)

Pour notre exemple de diabète :

3 ÷ (3+0)

= 3 ÷ 3

= 1.0

Ainsi, 100% des patients prédits par notre modèle pour avoir le diabète en fait ont le diabète.

Score F1

Le score F1 est une métrique globale qui combine le rappel et la précision. La formule pour le score F1 est la suivante :

(2 x Précision x Rappel) ÷ (Précision + Rappel)

Pour notre exemple de diabète :

(2 x 1,0 x 0,75) ÷ (1,0 + 0,75)

= 1,5 ÷ 1,75

= 0,86

Zone sous la courbe (AUC)

Un autre nom de rappel est le taux vrai positif (TPR), et il existe une métrique équivalente appelée taux faux positif (FPR) calculé en tant que FP÷(FP+TN). Nous savons déjà que le TPR pour notre modèle lors de l’utilisation d’un seuil de 0,5 est de 0,75, et nous pouvons utiliser la formule pour FPR pour calculer une valeur de 0÷2 = 0.

Bien sûr, si nous étions à modifier le seuil au-dessus duquel le modèle prédit true (1), il affecterait le nombre de prédictions positives et négatives ; et par conséquent, modifiez les métriques TPR et FPR. Ces métriques sont souvent utilisées pour évaluer un modèle en traçant une courbe caractéristique de fonctionnement du récepteur (ROC) qui compare le TPR et le FPR pour chaque valeur de seuil possible comprise entre 0,0 et 1,0 :

Diagramme d’une courbe ROC.

La courbe ROC d’un modèle parfait monterait d'abord directement vers le haut de l’axe TPR à gauche, puis traverserait l’axe FPR en haut. Étant donné que la zone de traçage de la courbe mesure 1x1, la zone sous cette courbe parfaite serait 1.0 (ce qui signifie que le modèle est correct 100 % du temps). En revanche, une ligne diagonale du bas à gauche vers le haut à droite représente les résultats qui seraient obtenus en devinant de façon aléatoire une étiquette binaire ; produisant une zone sous la courbe de 0,5. En d’autres termes, avec deux étiquettes de classe possibles, vous pourriez raisonnablement vous attendre à deviner correctement 50 % du temps.

Dans le cas de notre modèle de diabète, la courbe ci-dessus est produite, et la zone sous la courbe (AUC) mesure 0,875. Étant donné que l’AUC est supérieure à 0,5, nous pouvons conclure que le modèle fonctionne mieux pour prédire si un patient a le diabète ou non que de deviner de façon aléatoire.