IFT 501 Recherche d'information et forage de données Chapitre 4 : Classification concepts de base, arbres de décision et évalution des modèles Partie 3 André Mayers Automne 2014 inspiré fortement des transparents suggérés par les auteurs du manuel obligatoire 1
ÉVALUATION D’UN MODÈLE DE CLASSIFICATION section 4.5 2
Évaluation d’un modèle de classification Métriques pour évaluer la performance du modèle ◦ Comment mesurer la performance du modèle ? Méthodes pour évaluer la performance ◦ Comment obtenir des mesures fiables ? Méthodes de comparaison de modèle ◦ Comment évaluer les performances relatives de plusieurs modèles proposés ? 3
Évaluation d’un modèle de classification Métriques pour évaluer la performance du modèle ◦ Comment mesurer la performance du modèle ? Méthodes pour obtenir des résultats fiables ? Méthodes de comparaison de modèle ◦ Comment évaluer les performances relatives de plusieurs modèles proposés ? 4
Métriques pour évaluer la performance L’important est la capacité de prédiction du modèle ◦ La vitesse de classification, d’induction du modèle et sa maintenance sont des éléments secondaires La matrice de confusion 5 PREDICTED CLASS ACTUAL CLASS Class=YesClass=No Class=Yesab Class=Nocd a: TP (true positive) b: FN (false negative) c: FP (false positive) d: TN (true negative)
Métriques pour évaluer la performance… Précision : La métrique la plus utilisée 6 Classe prédite Classe réelle Class=YesClass=No Class=Yesa (TP) b (FN) Class=Noc (FP) d (TN)
Limites de la mesure de précision ◦ La précision ne tient pas compte de la répartition des données dans les classes ◦ Si le modèle classe toutes les données dans la classe yes, sa précision est (9990+0) / ( ) = 99.9 % mais il est incapable de reconnaître une donnée de la classe No ◦ Est-ce un classificateur utile ? 7 Classe prédite Classe réelle Class=YesClass=No Class=Yes99900 Class=No100
Matrice des coûts coûts Classe prédite Classe réelle C(i|j) Class=YesClass=No Class=YesC(Yes|Yes)C(No|Yes) Class=NoC(Yes|No)C(No|No) C(i | j): coût pour avoir classé une donnée de la classe j dans la classe i La valeur de C(i | j) est déterminée par le client, ce sont ses coûts à lui 8
Le coût de la classification 9 CoûtClasse prédite Classe réelle C(i|j) Modèle M 1 Classe prédite Classe réelle Modèle M 2 Classe prédite Classe réelle Précision = 80% Coût = 3910 Précision = 90% Coût = 4255 c++ = -1 c+- =100 c-+ = 1 c-- = 0
Coût vs précision 10 # Classe prédite Classe réelle Class Yes Class No Class Yes ab Class No cd Coût Classe prédite Classe réelle Class Yes Class No Class Yes pq Class No qp La relation est relative aux coût de chaque case de la matrice sauf si les coût sont ymmétriques, C(Yes|No)=C(No|Yes) = q C(Yes|Yes)=C(No|No) = p Soit N = a + b + c + d Précision = (a + d)/N Recherche de la relation Coût = p (a + d) + q (b + c) = p (a + d) + q (N – a – d) = p (a + d) + qN – q (a +d) = q N – (q – p)(a + d) = N [q – (q-p) précision] = N [q + (p-q) précision] = C 1 * précision + C 2 Le coût par donnée (N=1) est une fonction linéaire de la précision
Autres mesures sensibles au coût 11 l Justesse est sensible à C(Yes|Yes) & C(Yes|No) l Rappel est sensible à C(Yes|Yes) & C(No|Yes) l F-mesure (moyenne harmonique) n’est pas sensible à C(No|No) l plus proche de la valeur la plus faible (entre p et r) l donc une valeur forte signifie que la justesse et le rappel est bon l La sensibilité de “précision pondérée ” est déterminée par le client # Classe prédite Classe réelle Class=YClass=N Class=Y ab Class=N c d
Évaluation d’un modèle de classification Métriques pour évaluer la performance du modèle ◦ Comment évaluer la performance du modèle ? Méthodes pour obtenir des résultats fiables ? Méthodes de comparaison de modèle ◦ Comment évaluer les performances relatives de plusieurs modèles proposés ? 12
Méthodes pour obtenir des résultats fiables Comment obtenir une estimation fiable de la performance Pas de méthodes pré-établies, celle que vous créerez doit ◦ prendre en ligne de compte l’algorithme d’apprentissage, la distribution des classes On a vu que la précision est affectée par la distribution des données dans les classes (diapositive 7) le coût d’une mauvaise classification la taille de l’échantillon d’apprentissage et de test 2 prochaines diapositives ◦ utiliser une des métriques qui viennent d’être illustrées 13
Courbe d’apprentissage 14 l La courbe montre comment la précision augmente avec la taille de l’échantillon l Requière une cédule d’échantillonnage pour créer la courbe d’apprentissage : l Échantillonage arithmétique (Langley, et al) l Échantillonage géométrique (Provost et al) Effet d’un petit échantillon: - Biais dans l’estimation - Variance forte de l’estimation l’échelle pour la taille de l’échantillon est logarithmique
Fragmentation des données Le nombre de données diminue lorsqu’on se rapproche des feuilles ◦ Le nombre de données dans les feuilles peut être trop petit pour effectuer des décisions statistiquement significatives. 15
Évaluation d’un modèle de classification Métriques pour évaluer la performance du modèle ◦ Comment évaluer la performance du modèle ? Méthodes pour obtenir des résultats fiables ? Méthodes de comparaison de modèle ◦ Comment évaluer les performances relatives de plusieurs modèles proposés ? 16
ROC (Receiver Operating Characteristic) Développer dans les1950 dans le cadre de la théorie de la détection du signal pour analyser les signaux bruités. Met en relief le compromis entre la détection d’un signal et une fausse alerte Axe des Y, la proportion de signaux détectés Axe des X, la proportion des fausses alertes ◦ Pr(alerte | bruit) La proportion du temps où il ne détecte rien parce qu’il n’y a pas de signal importe peu Pr(bruit | bruit) 17
ROC (Receiver Operating Characteristic) ROC affiche sur l’axe des Y, le taux de TP i.e.TP/(TP+FN) ◦ Probabilité de dire + étant que la donnée est + ◦ Probabilité de détecter un vrai signal ROC affiche sur l’axe des X, le taux de FP i.e FP/(FP+TN) ◦ Probabilité de dire + quand la donnée est – ◦ Probabilité de détecter un faux signal Fausse alerte 18
ROC (Receiver Operating Characteristic) Chaque modèle correspond à un point dans le graphe ROC ◦ Il faut distinguer entre le graphe et la courbe Modifier un paramètre (seuil) d’un algorithme, l’échantillonnage ou la matrice des coûts modifie la position sur le graphe ROC ◦ Une courbe ROC est produite pour un classificateur avec un ensemble de données, ce classificateur doit être capable de donner la probabilité a posteriori qu’une donnée soit positive, ou qu’elle soit négative Pr(donnée =+ | AttributX > a) Pr(donnée =- | AttributX > a) ◦ On produit avec ce classificateur plusieurs modèles en modifiant de façon continue un paramètre, on déplace le point dans le graphe de façon continue et on dessine ainsi une courbe 19
La courbe ROC : interprétation (TP,FP): ◦ (0,0) TP/(TP+FN) = 0 et FP/(FP+TN) =0 TP=FP=0 le classeur répond toujours Faux ◦ (1,1): TP/(TP+FN) =1 et FP/(FP+TN) =1 FN=TN=0 le classeur répond toujours Vrai ◦ (1,0): idéal TP/(TP+FN) =1 et FP/(FP+TN) =0 FN=0 & FP=0 le classeur se trompe jamais 20
La courbe ROC : interprétation Sur la diagonale : ◦ TP/(TP+FN) =FP/(FP+TN) TP/FP = (TP+FN)/ (FP+TN) TP/(TP+ FP) = (TP+FN)/ N les réponses du classeur sont aléatoires et reflètent la répartition réelle des classes Sous la diagonale : ◦ TP/(TP+FN) < FP/(FP+TN) TP/FP < (TP+FN)/ (FP+TN) ◦ TP/(TP+ FP) < (TP+FN)/ N les réponses du classeur sont inversées par rapport à la réalité; il se trompe plus souvent que s’il était aléatoire ; toute proportion gardée, quand il dit oui, il y a plus de chances que ce soit non 21
La courbe ROC : interprétation… La figure illustre la distribution des données appartenant à deux classes en fonction de l’attribut T. Il y a 50 données de la classe positive et 50 données de la classe négative Les données ayant son attribut T > t sont classées “positif”. 22
La courbe ROC : interprétation… 23 TP=25 FN=25TN=44 FP=6
Déplacement de la valeur en vert 24 Réel
La courbe ROC : interprétation… La courbe ROC est tracée en déplaçant t entre -20 et 20 ◦ si t =20 alors toutes les données sont classées négatifs TP=0 TP/(TP+FN)=0 et FP=0 FP/(FP+TN) =0 sur la courbe ROC, c’est le pt [0,0] ◦ si t=3 TP=25, FN=25, FP=06, TN=44 sur la courbe ROC, c’est le pt [6/(6+44), 25/(25+25), ] = [ 0.12, 0.5] Attention de ne pas confondre TP avec le taux de réponses positives et FP avec le taux de fausse réponse positive (fausse alerte) 25
Utilisation de ROC pour comparer deux modèles 26 l Aucun des modèles n’est meilleur que l’autre l M 1 est meilleur si les fausses alertes coûtent chères l M 2 est meilleur si les fausses alertes ne coûtent pas chères. l L’aire sous la courbe l Aire = 1 modèle parfait l Aire = 0.5 modèle aléatoire
Comment construire une courbe ROC 27 InstanceP(+|A)True Class Utiliser un classificateur qui génère pour chaque donnée test la probabilité a posteriori P(+|A) Trier les instances en ordre décroissant selon P(+|A) Chaque valeur de P(+|A) forme un seuil pour calculer les TP, FP, TN, FN le taux de TP TPR = TP/(TP+FN) le taux de FP FPR = FP/(FP + TN)
Comment construire une courbe ROC 28 InstanceP(+|A)True Class
Comment construire une courbe ROC Threshold >= 29 Chaque valeur de P(+|A) forme un seuil pour calculer les TP, FP, TN, FN le taux de TP TPR = TP/(TP+FN) le taux de FP FPR = FP/(FP + TN) Inst.P(+|A)True Class
Comment construire une courbe ROC Threshold >= ROC Curve: 30