2. Personnellement, ces notions autour de la matrice de confusion, j'ai mis un bon bout de temps avant de les retenir une fois pour toute.
Et pour retenir tout ça, j'ai un super moyen mnémotechnique que je vais vous donner.
Ready?
3. D'abord de quoi parle-t-on ?
On parle de résultats d'une classification faite par un modèle de Machine Learning (Regression logistique, SVM, RF, KNN, Réseau de neurones, Naive Bayes ... et j'en passe)
4. Une classification, cela donne a priori deux types de résultats.
> Un résultat "positif" (la classe 1 est prédite)
> ou un résultat "négatif" (la classe 1 n'a pas été prédite, et donc on classifie en classe 2)
5. IMPORTANT !
Il n'y a aucun jugement de valeur dans les termes positif et négatif.
Ils sont juste relatifs à la question posée :
> le patient est-il malade ?
> Peut-on prêter de l'argent à ce client ?
> Ce client va-t-il acheter ce produit ?
etc
6. Partant de tout cela, quand le modèle produit un résultat,
> soit il classifie bien
> soit il classifie mal
Pour l'instant vous devriez me suivre ...
7. Et quand il classifie bien, il y a deux cas :
> il peut bien classer les cas positifs (réponse oui à la question posée)
> et les cas négatifs (réponse non à la question posée)
8. Les positifs bien prédits par le modèle, on les appelle les "True Positive" ou "Vrais positifs".
Et les négatifs bien prédits, on les appelle les "True négative" ou "Vrais négatifs"
9. Maintenant quand le modèle fait une erreur, elle peut être de deux sortes
10. Soit c'est un Positif et le modèle l'a classifié en Négatif
On parle alors de "Faux Négatifs" ou "False Negative"
11. Soit c'est un Négatif et le modèle l'a classifié en Positif
On parle alors de "Faux positif" ou "False Positive"
12. Ces deux cas d'erreurs sont très différents l'un de l'autre, et il faut bien en avoir conscience.
Prenons des exemples bien concrets pour s'en rendre compte
13. Si la question est :
"Le patient a t-il une maladie grave ?".
Dans ce cas, un Faux positif, c'est quelqu'un qui n'a pas de maladie et on lui a prédit qu'il avait une maladie.
Et un faux négatif, c'est quelqu'un qui a une maladie Grave, et on l'a pas détecté
14. Si la question est
"Cet email est-il un spam ?"
un faux positif, c'est un email innocent qui s'est retrouvé dans la boîte de Spam
Et un faux négatif, c'est un Spam qui n'a pas été détecté et qui se retrouve dans la boîte de réception
15. Bref, vous avez compris que ces deux types d'erreurs traduisent des cas d'usage complètement différents, qui peuvent être d'importance inégale suivant la question posée
16. Par exemple
c'est surement plus embêtant d'avoir raté le diagnostic de quelqu'un qui a une maladie grave
que d'annoncer à quelqu'un qu'il a une maladie grave et de se tromper
17. De même pour un vendeur d'antispam
c'est peut être plus embêtant d'avoir un mail innocent dans la boîte de spams
que de laisser passer un vrai Spam dans la boîte de réception
18. Quand j'ai du apprendre toutes ces définitions, le truc qui m'a bien aidé, c'est de renommer "les False Positive" et les "False Negative"
pour leur donner plus de sens
19. Les "False Postive" je les ai renommés en INTRUS
et les "False Negative" en OUBLIES
Quand vous y regardez de plus près, c'est bien de cela dont il s'agit
False Positive = INTRUS
False Negative = OUBLIES
20. Revenons maintenant à notre matrice de confusion.
Il est d'usage de construire cette matrice en fonction des 4 quantités que l'on a vu précédemment
les TN, TP, FN et FP
21. Prenons l'exemple d'un modèle dont le boulot est de détecter les Spams dans un mail.
Une matrice de confusion pourrait ressembler à cela
22. Sur la diagonale, il y a ce qu'il a bien fait
> Les spams détectés en Spams (True Positive = TP)
> les non spams détectés en non Spams (True Negative = TN)
23. Et dans les 2 autres cas, ce qu'il a mal fait
> Les vrais spams non détectés (False Negative ou OUBLIES)
> les non spams détectés en spams (False Positive ou INTRUS)
24. Le premier indicateur qui peut être calculé c'est l'ACCURACY
Il calcule le ratio de ce qu'il a fait de bien, par rapport à tout ce qu'il a fait
25. Ensuite, on a l'indicateur PRECISION qui fait intervenir les INTRUS.
Cet indicateur va donner la proportion de ce qui a été correctement classifié parmi tout ce que le modèle a classifié comme Positif
on introduit les intrus dans cet indicateur
26. Puis vient l'indicateur RECALL qui fait intervenir les oubliés.
L'indicateur va donner tout ce qui a été correctement classifié parmi les vrais positifs (et donc introduire les Oubliés)
27. En synthèse -
Si vous avez du mal à retenir ces formules, essayez d'associer
> l'indicateur PRECISION aux INTRUS
> et l'indicateur RECALL aux OUBLIES.
Cela fera très certainement une différence !
28. Merci d'avoir lu jusqu'au bout. N'hésitez pas à liker et partager si cela vous a plu
29. A très vite !
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Peut-être aurez vous le temps de lire mes dernières publications.
Au programme :
> Régression Logistique
> Matrice de confusion
> Binary tree : Gini vs Entropy
> Transformers et self Attention
> Les réseaux à convolution
Bonne lecture !
🔽🔽 Thread
[Régression Logistique]
Voir différemment cet algorithme et tout comprendre grâce à la géométrie
2. Je vais détailler le fonctionnement des transformers dans le contexte du NLP, qui est le domaine où le premier papier a été publié en 2017 ("Attention is all you need")
A noter que les transformers s'attaquent désormais à d'autres domaines (Vision, Time Series, ...)
3. First things first
Rappelons que dans le NLP, les algorithmes ne comprennent pas "directement" les mots
Il faut que ces mots soient transformés en nombres.
C'est le boulot des algorithmes de "word embedding", qui donc transforment les mots en vecteurs de nombres