Fouille de données / Data Mining Julien JACQUES Université Lumière Lyon 2 1 / 79 La fouille de données : qu’est-ce que c’est ? Fouille de données / data mining Ensemble d’approches statistiques permettant d’extraire de l’information de grands jeux de données dans une perspectives d’aide à la décision. 1 P. Besse et al., Data Mining et Statistique, Journal de la Société Française de Statistique, 142[1], 2001. 2 / 79 La fouille de données : qu’est-ce que c’est ? Fouille de données / data mining Ensemble d’approches statistiques permettant d’extraire de l’information de grands jeux de données dans une perspectives d’aide à la décision. Les étapes du data mining 1 1. Nettoyage des données (erreurs, données manquantes, outliers) 2. Transformation éventuelle des données (normalisation, linéarisation...) 3. Explicitation de l’objectif de l’analyse en terme statistique (régression, classification, clustering...) 4. Choix de la méthode et mise en oeuvre informatique ( 5. Test (validation de la qualité des résultats) 6. Exploitation 1 P. Besse et al., Data Mining et Statistique, Journal de la Société Française de Statistique, 142[1], 2001. 2 / 79 ...) La fouille de données : quelques références 3 / 79 La fouille de données : quelques références http://eric.univ-lyon2.fr/∼ricco/data-mining/ http://data.mining.free.fr http://eric.univ-lyon2.fr/∼jjacques/ 4 / 79 La fouille de données : à quoi cela sert ? publicité ciblée sur internet identification des prospects les plus susceptibles de devenir clients reconnaissance faciale dans une image calcul de la rentabilité des clients évaluer le risque d’un client (credit scoring) détection de fraudes bancaires analyse automatique de contenus textuels (text mining) reconnaissance de la parole calcul de score de réachat prévision de consommation d’électricité prévision de traffic routier tester l’efficacité d’un traitement médical ... 5 / 79 La fouille de données : panorama des méthodes fouille de données méthodes descriptives 6 / 79 méthodes prédictives La fouille de données : panorama des méthodes clustering méthodes descriptives méthodes prédictives classification supervisée prédire Y quali. analyse factorielle régression ACP, AFC, ACM prédire Y quanti. détections de liens recherche d’associations 7 / 79 La fouille de données : panorama des méthodes Ce qui n’est pas abordé dans ce cours : analyse factorielle (ACP, AFC, ACM...) projection et visualisation de données dans un espace de dimension faible régression prédire une variable quantitative détections de liens (règles d’association) prédire une variable quantitative 8 / 79 La fouille de données : panorama des méthodes Ce qui est abordé dans ce cours : clustering (classification automatique, classification non supervisée, segmentation, typologie...) : regrouper des individus qui se ressemblent en classes représentatives classification supervisée (discrimination, analyse discriminante, scoring) : classer des individus dans des classes définies a priori 9 / 79 La fouille de données : panorama des méthodes Ce qui est abordé dans ce cours : clustering (classification automatique, classification non supervisée, segmentation, typologie...) : regrouper des individus qui se ressemblent en classes représentatives classification supervisée (discrimination, analyse discriminante, scoring) : classer des individus dans des classes définies a priori Notations : les individus (observations) sont décrits par un ensemble de p variables aléatoires explicatives X = (X1 , . . . , Xp ) ∈ E (E = Rp , ...) Xi = (Xi1 , . . . , Xip ) sont les variables explicatives pour l’individu i (1 ≤ i ≤ n) Zi ∈ {1, . . . , K } est le numéro de la classe de l’individu i 9 / 79 Classification non supervisée vs supervisée Classification non supervisée Zi inconnue (aucune signification a priori) objectif : à partir de l’observation de X1 , . . . , Xn , prédire Z1 , . . . , Zn les classes sont ensuite interprétées dans le but de leur donner une signification concrète Classification supervisée Zi connue (signification connue a priori) objectif : à partir de l’observation de (X1 , Z1 ), . . . , (Xn , Zn ) construire une règle de classement r : r : X −→ r (X ) = Z utiliser cette règle de classement pour classer de nouveaux individus de classes inconnues 10 / 79 Applications Classification non supervisée analyse exploratoire : donner une représentation simplifiée des données pour mieux les comprendre exemple : typologie clients en marketing (Gestion de la relation clients / CRM - Customer Relationship Management) Classification supervisée analyse prédictive : prédire une variable (Z ) qualitative à partir de variables explicatives (X) exemples : prédire si un prospect va acheter le produit qu’on lui propose, prédire la probabilité qu’un patient soit atteint d’une certaine maladie... 11 / 79 Les différentes méthodes abordées dans ce cours Classification non supervisée méthodes géométriques centres mobiles (kmeans), Classification Ascendante Hiérarchique (CAH) méthode probabiliste modèles de mélanges (algorithme EM) Classification supervisée méthode générative : on estime la loi de (X, Z ) analyse discriminante paramétrique méthodes prédictives : on estime la loi de (Z |X) 12 / 79 régression logistique k plus proche voisins arbre de classification (méthode CART) Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 13 / 79 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 14 / 79 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 15 / 79 Notions de distances et dissimilarités Soient Xi et Xj deux observations de E. On appelle distance toute fonction d : E × E → R+ telle que 1. d(Xi , Xj ) ≥ 0 2. d(Xi , Xj ) = d(Xj , Xi ) 3. d(Xi , Xj ) = 0 ⇔ Xj = Xi 4. d(Xi , Xj ) ≤ d(Xi , Xk ) + d(Xk , Xj ) pour tout Xk ∈ E Lorsque seulement 1. à 3. sont vérifiées, on parle de dissimilarité. 16 / 79 Distances et dissimilarités usuelles Distances pour données quantitatives E = Rp d 2 (Xi , Xj ) = (Xi − Xj )t M(Xi − Xj ) Pp − Xj` )2 1/2 distance euclidienne (M = I) : d(Xi , Xj ) = distance de Mahalanobis (M = V−1 avec V la matrice de covariance) ... `=1 (Xi` Distances pour données binaires E = {0, 1}p dissimilarité de Jaccard : d(Xi , Xj ) = 1 − ... 17 / 79 a = #{`, 1 ≤ ` ≤ p : Xi` = Xj` } b = #{`, 1 ≤ ` ≤ p : Xi` = 1 et Xj` = 0} c = #{`, 1 ≤ ` ≤ p : Xi` = 0 et Xj` = 1} a a+b+c où Comparaison de partitions On utilise souvent l’indice de Rand pour comparer deux partitions Z1 = (Z11 , . . . , Z1n ) et Z2 = (Z21 , . . . , Z2n ) : R= où, parmi les 2 n a+d a+d = 2 ∈ [0, 1] a+b+c+d n paires d’individus possibles : a : nombre de paires dans une même classe dans Z1 et dans Z2 b : nombre de paires dans une même classe dans Z1 mais séparées dans Z2 c : nombre de paires séparées dans Z1 mais dans une même classe dans Z2 d : nombre de paires dans séparées dans Z1 et dans Z2 18 / 79 Exercice Deux méthodes de clustering ont conduit aux 2 partitions suivantes : Z1 = {1, 1, 2, 2, 2} Z2 = {1, 2, 2, 1, 2} Calculer l’indice de Rand de ces deux partitions. 19 / 79 Exercice Deux méthodes de clustering ont conduit aux 2 partitions suivantes : Z1 = {1, 1, 2, 2, 2} Z2 = {1, 2, 2, 1, 2} Calculer l’indice de Rand de ces deux partitions. Correction : a = 1, d = 3, 19 / 79 2 5 = 10 et R = 0.4 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 20 / 79 Algorithme des kmeans kmeans{stats} On se place dans E = Rp muni de la distance euclidienne. Algorithm 1 kmeans 1: init. : tirages au hasard de K centres µk parmi les n observations 2: while partition non stable do 3: affecter chaque observation à la classe dont le centre est le plus proche 4: recalculer les centres (moyennes) des classes 5: end while 21 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Illustration de l’algorithme des kmeans 22 / 79 Algorithme des kmeans kmeans{stats} Propriétés l’algorithme des kmeans minimise l’inertie intra-classe W (Z) : T = B(Z) + W (Z) T = n X d 2 (Xi , µ) : inertie totale du nuage de point (µ est le centre global) i=1 B(Z) = K X nk d 2 (µk , µ) : inertie inter-classe (nk nb. obs. dans classe k ) k =1 K X W (Z) = X d 2 (Xi , µk ) : inertie intra-classe k =1 i=1,n:Zi =k l’algorithme des kmeans est convergeant la solution peut dépendre de l’initialisation (⇒ en pratique on réalise plusieurs init. et on conserve celle minimisant W (Z)) 23 / 79 Choix du nombre de classes on sait que l’inertie intra-classe W (Z) diminue lorsque K augmente choix de K : recherche d’un coude dans la décroissance de W (Z) : 6 4 coude 2 inertie intra−classe 8 10 1 2 3 4 K 24 / 79 5 6 7 Exercice Réaliser une classification automatique en 2 classes à l’aide de l’algorithme de kmeans sur les données suivantes : X1 = 0 X2 = 2 X3 = 6 X4 = 11 Avez-vous tous obtenus les mêmes partitions ? 25 / 79 Exercice Réaliser une classification automatique en 2 classes à l’aide de l’algorithme de kmeans sur les données suivantes : X1 = 0 X2 = 2 X3 = 6 X4 = 11 Avez-vous tous obtenus les mêmes partitions ? Correction sous 25 / 79 : kmeans(c(0,2,6,11),centers=c(2,6)) Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 26 / 79 Algorithme de CAH hlcust{stats} Soit D une distance entre classe (critère d’agrégation). Algorithm 2 CAH 1: init. : chaque singleton (observation) constitue une classe 2: while plus d’une classe do 3: calculer les distances D entre chaque classe 2 à 2 4: regrouper les deux classes les plus proches 5: end while 27 / 79 CAH : quel critère d’agrégation ? Soit A et B deux classes (ensembles d’individus). Soit d une distance entre individus. single linkage (saut minimum) D(A, B) = min{d(X, Y), X ∈ A, Y ∈ B} complete linkage (saut maximum) D(A, B) = max{d(X, Y), X ∈ A, Y ∈ B} distance moyenne D(A, B) = X X d(X, Y) #A#B X∈A Y∈B Ward D(A, B) = #A#B 2 d (µA , µB ) #A + #B où µA et µB sont les centres de gravité des classes A et B 28 / 79 CAH : quel critère d’agrégation ? Propriétés des critères. Ward agglomère les deux classes minimisant l’inertie intra-classe Ward est sous-optimal par rapport à kmeans car on se restreint à regrouper 2 classes parmi la partition courante les critères du saut minimum et maximum sont peu dépendant de l’échelle numérique. 29 / 79 CAH : représentation graphique On représente le résultat d’une CAH par un dendogramme dont l’ordonnée est la valeur du critère d’agrégation. Cluster Dendrogram 10 12 4 2 6 8 3 1 2 4 6 30 / 79 hclust (*, "ward") 3 2 1 4 6 5 8 7 5 0 8 7 Exercice Réaliser une CAH sur les données suivantes à l’aide des critères du saut minimum et du saut maximum : X1 X2 X3 X4 =0 =2 =6 = 11 Représenter le dendogramme. Comparer les partitions en 2 classes avec celle obtenue par les kmeans ? 31 / 79 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 32 / 79 Clustering par modèles de mélanges (MM) Idée : chaque classe est caractérisée par sa propre loi de probabilité X|Z = k ∼ f (x, θk ) = fk (x) variables quantitatives : f (·, θk ) densité gaussienne, θk = (µk , Σk ) variables qualitatives : f (·, θk ) proba. multinomiale, θk = (αkjh )1≤j≤p,1≤h≤mj loi marginale de X (densité mélange) X∼ K X pk fk (x) = fX (x). k =1 où pk est la proportion de la classe k probabilité conditionnelle que x provienne de la classe k (via Bayes) : tk (x) = P(Z = k |X = x) = 33 / 79 pk fk (x) . fX (x) MM : estimation Idée fondamentale maximum de vraisemblance pour θ = (θk )1≤k ≤K b grâce aux tk (xi ) par maximum a posteriori (MAP) : déduire Z bi = k si tk (xi ) > tl (xi ) ∀l 6= k Z Log-vraisemblance l(θ, x1 , . . . , xn ) = n X i=1 log fX (xi ) = n X i=1 On cherche alors θb = argmaxθ l(θ, x1 , . . . , xn ) 34 / 79 log K X k =1 pk fk (xi ) MM : estimation Algorithm 3 Algorithme EM 1: 2: 3: init. : choix aléatoire de θ(0) while |l(θ(m) , x1 , . . . , xn ) − l(θ(m+1) , x1 , . . . , xn )| < do étape E (estimation) : calculer Q(θ, θ(m) ) = Eθ(m) [l(θ, X1 , . . . , Xn , Z1 , . . . , Zn )|X1 = x1 , . . . , Xn = xn ] ⇒ revient à calculer btk (xi ) = p f (x ) PK k k i `=1 p` fk (xi ) étape M (maximisation) : calculer 4: θ(m+1) = argmax Q(θ, θ(m) ) θ 5: end while Rq : EM converge vers un maxi. local de l → plusieurs init. 35 / 79 MM : différents modèles gaussiens Le nombre de paramètres du modèle peut être important : K − 1 + pK + Kp(p + 1)/2 Des modèles parcimonieux ont été proposés en imposant des hypothèses sur la décomposition spectrale des matrices de variances Σk = λk Dk Ak Dkt 36 / 79 Ak = A : forme des classes identiques Dk = D : orientation des classes identiques λk = λ : volume des classes identiques MM : choix de modèle Des critères de vraisemblance pénalisée peuvent être utilisés pour choisir le modèle le plus adapté, choisir le nombre de clusters K Critère BIC (à minimiser) : b x1 , . . . , xn ) + d ln(n), BIC = −2l(θ, où d est le nombre de paramètres du modèles (d = K − 1 + pK + Kp(p + 1)/2 pour le modèle gaussien complet) 37 / 79 MM : liens avec l’algorithme des kmeans L’algorithme de centres mobiles (kmeans) est équivalent à un modèle gaussien très particulier : les classes sont supposées sphériques et de même taille Σk = λId et les paramètres sont estimés avec une variante de l’algorithme EM : algorithme CEM : les b tk (xi ) calculés à l’étape E sont arrondis à 1 (pour la classe k maximisant btk (xi )) et à 0 pour les autres 38 / 79 MM : logiciels Packages Mclust{mclust} mixmodCluster{Rmixmod} hddc{HDclassif} pour les données de grande dimension 39 / 79 Un exemple classique : les Iris de Fisher R> plot(iris[,1:4],col=iris$Species) 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5 6.5 7.5 2.0 4.0 4.5 5.5 Sepal.Length 5 6 7 2.0 3.0 Sepal.Width 1.5 2.5 1 2 3 4 Petal.Length 0.5 Petal.Width 4.5 40 / 79 5.5 6.5 7.5 1 2 3 4 5 6 7 Un exemple classique : les Iris de Fisher R> model=Mclust(iris[,1:4],G=1:5) R> summary(model) ----------------------------------Gaussian finite mixture model fitted by EM algorithm ----------------------------------Mclust VEV (ellipsoidal, equal shape) model with 2 components: log.likelihood n df BIC ICL -215.726 150 26 -561.7285 -561.7289 Clustering table: 1 2 50 100 41 / 79 Un exemple classique : les Iris de Fisher R> model=Mclust(iris[,1:4],G=1:5) R> summary(model) ----------------------------------Gaussian finite mixture model fitted by EM algorithm ----------------------------------Mclust VEV (ellipsoidal, equal shape) model with 2 components: log.likelihood n df BIC ICL -215.726 150 26 -561.7285 -561.7289 Clustering table: 1 2 50 100 R> table(model$classification,iris$Species) setosa versicolor virginica 1 50 0 0 2 0 50 50 41 / 79 Un exemple classique : les Iris de Fisher R> model=Mclust(iris[,1:4],G=3) R> summary(model) ----------------------------------Gaussian finite mixture model fitted by EM algorithm ----------------------------------Mclust VEV (ellipsoidal, equal shape) model with 3 components: log.likelihood n df BIC ICL -186.0736 150 38 -562.5514 -566.4577 Clustering table: 1 2 3 50 45 55 R> table(model$classification,iris$Species) setosa versicolor virginica 1 50 0 0 2 0 45 0 3 0 5 50 42 / 79 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 43 / 79 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 44 / 79 Comparaison de méthodes (1/2) Comment comparer différentes méthodes de classification supervisée ? Les pièges à éviter erreur apparente : comparer des méthodes en terme de taux de bon classement sur l’échantillon d’apprentissage ayant servi à estimer les paramètres favorisera toujours les méthodes les plus complexes 45 / 79 Comparaison de méthodes (1/2) Comment comparer différentes méthodes de classification supervisée ? On utilisera un échantillon test : le taux de bon classement sera évalué sur un échantillon test n’ayant pas servi à estimer les règles de classement (découpage éch. existant en 2/3 apprentissage 1/3 test) la validation croisée (cross validation - CV) Leave One Out n CV = 1X 1Iẑ(i) =zi n i=1 où ẑ(i) est la prédiction de la classe du ième individu obtenu sans utiliser cet individu pour estimer les paramètres du modèle la validation croisée K-fold où l’échantillon d’apprentissage est découpé en K partie, chaque partie servant tour à tour d’échantillon test (leave one out = n-fold) un critère de choix de modèles (BIC) pour les méthodes probabilistes 46 / 79 Comparaison de méthodes (2/2) l’aire sous la courbe ROC (AUC) dans le cas de K = 2 classes, évaluée sur éch. test ou par CV réel total 47 / 79 Z =0 Z =1 prédit Z =0 Z =1 VN FP FN VP N̂ P̂ total N P n positif : relatif à une modalité de référence (Z = 1, malade, achat...) b = 1 si p(Z b = 1) ≥ s s : seuil tel que Z VP Se(s) = VP+FN : sensibilité (taux de vrais positifs) VN 1 − Sp(s) = 1 − VN+FP : 1-spécificité (taux de faux positifs) Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 48 / 79 Analyse discriminante probabiliste (DA) Idées : Les modèles de mélanges peuvent également être utilisés en classification supervisée. L’estimation par maximum de vraisemblance immédiate (EM inutile) Variables quantitatives : modèles gaussiens Linear Discriminant Analysis (LDA) : X|Z = k ∼ N (µk , Σ) Quadratic Discriminant Analysis (QDA) : X|Z = k ∼ N (µk , Σk ) 49 / 79 DA : estimation et choix de modèle Estimation p̂k = nk n 1 nk où nk est le nombre d’observations de la classe k (Gk ) P µ̂k = xi ∈Gk xi P P K Σ̂ = n1 k =1 xi ∈Gk (xi − µk )t (xi − µk ) pour LDA P Σ̂k = n1k xi ∈Gk (xi − µk )t (xi − µk ) pour QDA Choix de modèle critère probabiliste (BIC) ou CV, AUC, ... 50 / 79 DA : règle de classement optimale coût de mal classer un individu de Gl (classe l) dans Gk (classe k ) : C : (k , l) ∈ {1, . . . , K } × {1, . . . , K } → C(k , l) ∈ R+ , règle optimale de Bayes : on classe X = x dans Gk si : K X C(k , l)tl (x) < l6=k cas d’égalité des coûts (MAP): cas de deux classes : 51 / 79 K X C(k 0 , l)tl (x) ∀k 0 6= k l6=k 0 on classe X = x dans Gk si tk (x) > tl (x) ∀l 6= k C(2,1)t (x) on classe X = x dans G1 si g(x) = C(1,2)t1 (x) > 1. 2 g(x) = 1 définit la surface discriminante LDA / QDA Terminologie les termes quadratic et linear de QDA et LDA viennent du fait que la surface discriminante g(x) = 1 est quadratique ou linéaire suivant si Σk est libre ou supposé identique pour chaque classe (Σk = Σ) 52 / 79 DA : logiciels Packages lda{MASS} qda{MASS} MclustDA{mclust} pour plus de modèles pour données quantitatives mixmodLearn{Rmixmod} pour encore plus de modèles pour données quantitatives ou qualitatives 53 / 79 Exercice Prédire l’appartenance du point X5 = 4 à l’une des deux classes suivantes, à l’aide des modèles LDA et QDA : 54 / 79 classe 1 : X1 = 0, X2 = 2 classe 2 : X3 = 6, X4 = 11 Exercice Prédire l’appartenance du point X5 = 4 à l’une des deux classes suivantes, à l’aide des modèles LDA et QDA : classe 1 : X1 = 0, X2 = 2 classe 2 : X3 = 6, X4 = 11 Corrections : QDA p̂ = p̂ = 0.5 1 2 classe 1 : µ̂ = 1, σ̂ 2 = 1 1 1 classe 2 : µ̂ = 8.5, σ̂ 2 = 2 2 t1 (4) = 25 4 0.5fN (4,1,1) 0.5fN (4,1,1)+0.5fN (4,8.5, 25 4 ) = 0.08254814 LDA σ̂ 2 = 17.6875 0.5fN (4,1,17.6875) t (4) = 1 0.5fN (4,1,17.6875)+0.5fN (4,8.5,17.6875) = 0.5044949 54 / 79 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 55 / 79 K plus proches voisins (K NN) Idées : On compte parmi les K plus proches voisins d’un points x à classer le nombre de points nk de chaque classe (1 ≤ k ≤ K ). On estime alors la probabilité que x appartienne à la classe k par : nk tk (x) = K 56 / 79 K plus proches voisins (K NN) Remarques choix de K crucial : CV, AUC, éch. test... plus n est grand, plus on peut se permettre de prend un K grand Packages knn{class} 57 / 79 Exercice Prédire l’appartenance du point X5 = 4 à l’une des deux classes suivantes, par la méthode K NN avec différentes valeurs de K : 58 / 79 classe 1 : X1 = 0, X2 = 2 classe 2 : X3 = 6, X4 = 11 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 59 / 79 Régression logistique(RL) On se place dans le cas K = 2 (régression logistique dichotomique) Y ∈ {0, 1} Les variables explicatives peut-être quantitatives ou qualitatives : Xj ∈ R : utilisée telle quelle Xj ∈ {mj1 , . . . , mj j } : transformée en variables indicatrices k Xj ⇒ 60 / 79 1IXj =m1 , . . . , 1I j kj −1 Xj =mj RL : le modèle Principe P(Y =1|X=x) on cherche à modéliser de façon linéaire ln 1−P(Y =1|X=x) : p ln X P(Y = 1|X = x) π(x) = β0 + βj x j = ln 1 − P(Y = 1|X = x) 1 − π(x) j=1 {z } | logit(π(x)) ce modèle s’écrit aussi π(x) = 61 / 79 exp (β0 + Pp 1 + exp (β0 + j=1 Pp βj x j ) j=1 βj xj ) RL : Estimation Maximum de log-vraisemblance conditionnelle `(β) = n X ln P(Y = yi |X = xi ) = i=1 n X yi β t x̃i − ln(1 + exp β t x̃i ) i=1 dérivée par rapport à β non linéaire en β n ∂l(β) X exp β t x̃i = yi x̃i − x̃i ∂β 1 + exp β t x̃i i=1 maximisation numérique de `(β) (algo. de type Newton Raphson) 62 / 79 RL : Interprétation via les Odds Ratio On définit deux outils d’interprétation des paramètres du modèle : odds : combien de fois on a plus de chance d’avoir Y = 1 au lieu d’avoir Y = 0 lorsque X = x: odds(x) = π(x) 1 − π(x) odds-ratio : combien de fois on a plus de chance d’avoir Y = 1 au lieu d’avoir Y = 0 lorsque X = xi au lieu de X = xj odds-ratio(xi , xj ) = 63 / 79 odds(xi ) odds(xj ) RL : Exemple d’interprétation Y : présence / absence d’un cancer des poumons, X : fumeur / non fumeur. Exemple de données (fictives) Chez les fumeurs : P(Y = 1|X = fumeur) = 0.01 et P(Y = 0|X = fumeur) = 0.99. ⇒ odds(X = fumeur) = 1/99 : on a une chance sur 99 d’avoir un cancer des poumons lorsque l’on est fumeur. Chez les non fumeurs : P(Y = 1|X = non fumeur) = 10−4 1/99 = 101 : on a 101 fois plus ⇒ odds-ratio(fumeur, non fumeur) = 1/9999 de chance d’avoir un cancer des poumons pour un fumeur que pour un non fumeur. 64 / 79 RL : Prédictions Pour une nouvelle observation x∗ , le modèle nous prédit le score ∗ P(Y = 1|X = x ; β̂) = exp (β̂0 + Pp 1 + exp (β̂0 + j=1 β̂j xj ) Pp j=1 β̂j xj ) On peut alors définir la règle de classement suivante : 1 si P(Y = 1|X = x∗ ; β̂) ≥ s ŷs∗ = 0 sinon où s est un seuil défini par en collaboration avec le praticien. Si s = 0.5, on obtient la règle du maximum a posteriori (MAP). Rq : souvent le score est plus intéressant que la prédiction elle même (credit scoring, médecine...) 65 / 79 RL : Sélection de variables Une fois le modèle estimé, l’apport de chaque variable peut-être testé, avec par exemple le test du rapport des vraisemblances maximales (ou test de la déviance D) : sous H0 D = −2 ln maxβ LH0 (β) → χ21 maxβ LH1 (β) où LH0 et LH1 sont respectivement les vraisemblances du modèle sans et avec la variable Xj , le test de Wald : sous H0 β̂j2 σ̂j2 → χ21 où σ̂j2 est la variance de l’estimateur de βj 66 / 79 RL : Sélection de variables Beaucoup de variables explicatives ⇒ algorithme de sélection de variables forward : variables introduites une à une dans le modèle en fonction d’un critère (statistique du test de Wald par ex.) backward : même chose mais en partant du modèle avec toutes les variables et en les supprimants une à une stepwise : forward + test de significativité de l’apport des variables actives à chaque étape On obtient une liste restreinte de modèles, et on choisit le meilleur selon: BIC (ou AIC) : critère de vraisemblance pénalisée D : déviance CV : validation croisée AUC : aire sous la courbe ROC 67 / 79 Rég. logistique polytomique ou ordinale (K > 2) régression logistique polytomique : Y ∈ {1, . . . , K } on réalise K − 1 régressions logistiques de πk (x) versus πK (x) : p ln X πk (x) = β0k + βjk xj πK (x) ∀1 ≤ k ≤ K − 1. j=1 où πk (x) = P(Y = k |X = x). régression logistique ordinale : Y ∈ {1, . . . , K } ⇒ les modalités 1,. . . ,K de Y sont ordonnées on modélise généralement des logits cumulatifs : p ln X πk +1 (x) + . . . + πK (x) βjk xj = β0k + π1 (x) + . . . + πk (x) j=1 68 / 79 ∀1 ≤ k ≤ K − 1. Régression logistique Packages glm{stat} 69 / 79 Exemple : cancer du sein bénin / malin 2 4 6 8 2 4 6 8 2 4 6 8 6 10 2 4 6 8 6 10 2 Cl.thickness 6 10 2 Cell.size 6 10 2 Cell.shape 6 10 2 Marg.adhesion 6 10 2 Epith.c.size 6 10 2 Bare.nuclei 6 10 2 Bl.cromatin 2 Mitoses 6 10 2 Normal.nucleoli 2 4 6 8 70 / 79 2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8 Exemple : cancer du sein bénin / malin Modèle avec toutes les variables R> glm.res <- glm(Class ∼ ., family=binomial, data=data) R> summary(glm.res) Coefficients: Estimate Std.Error z value Pr(>|z|) (Intercept) -9.377e+00 2.219e+00 -4.225 2.4e-05 *** Id -7.407e-07 1.648e-06 -0.449 0.6531 Cl.thickness 4.299e-01 1.901e-01 2.262 0.0237 * Cell.size 6.999e-01 4.061e-01 1.724 0.0848 . Cell.shape 3.014e-01 3.881e-01 0.777 0.4374 Marg.adhesion 1.544e-01 1.648e-01 0.937 0.3488 Epith.c.size 1.163e-01 2.439e-01 0.477 0.6334 Bare.nuclei 4.429e-01 1.419e-01 3.121 0.0018 ** Bl.cromatin 3.474e-01 2.613e-01 1.329 0.1838 Normal.nucleoli 1.315e-01 1.563e-01 0.842 0.4000 Mitoses 3.072e-01 4.154e-01 0.740 0.4595 -AIC: 79.247 71 / 79 Exemple : cancer du sein bénin / malin Modèle avec sélection de variables R> pr2.glm = glm(Class∼1,family=binomial,data=data) R> pr2.step <- step(pr2.glm, direction="both", scope=list(lower=∼1, upper=∼ Cl.thickness+Cell.size+Cell.shape+Marg.adhesion+Epith.c.size +Bare.nuclei+ Bl.cromatin+Normal.nucleoli+Mitoses), trace = TRUE) R> summary(pr2.step) Coefficients: Estimate Std.Error z value Pr(>|z|) (Intercept) -9.7741 1.4123 -6.921 4.49e-12 *** Cell.size 1.0631 0.3001 3.543 0.000396 *** Bare.nuclei 0.4868 0.1307 3.724 0.000196 *** Cl.thickness 0.4589 0.1634 2.808 0.004988 ** Normal.nucleoli 0.2306 0.1354 1.704 0.088472 . Bl.cromatin 0.3920 0.2329 1.683 0.092395 . -AIC: 71.976 72 / 79 Plan Classification non supervisée Généralités Méthode des centres mobiles (kmeans) Classification Ascendante Hiérarchique Modèles de mélanges Classification supervisée Généralités Analyse discriminante probabiliste Méthode des K plus proches voisins Régression logistique Arbre de classification 73 / 79 Arbre binaire de classification Principe arbre binaire de classification : succession de noeud noeud : défini par le choix d’une variable et d’une division ⇒ partition en 2 classes division : choix d’un seuil (variable explicative quanti.) ou d’un groupe de modalités (variable explicative quali.) racine (noeud initial) : ensemble de l’échantillon ; la procédure est itérée pour chacun des 2 fils du noeud init. Et ainsi de suite. Paramétrisation de l’algorithme critère de qualité d’une division règle permettant de dire si un noeud est terminal (feuille) affectation de chaque feuille à l’une des K classes 74 / 79 Arbre binaire de classification Critère de division D : critère d’hétérogénéité d’un noeud 0.7 critère d’entropie 0.4 0.3 entropie K X nk nk log n n 0.2 D = −2n 0.5 0.6 0.0 0.1 k =1 0.0 0.2 0.4 0.6 0.8 1.0 p 0.5 0.3 0.2 0.0 k =1 0.1 indice de Gini 0.4 où n est le nombre d’éléments du noeud, nk celui de la classe k , et avec la convention 0 log 0 = 0 indice de Gini K X nk nk D=− 1− n n 0.0 0.2 0.4 0.6 p on retient la division qui maximise Dnoeud − (Dfils gauche + Dfils droit ) 75 / 79 0.8 1.0 Arbre binaire de classification Règle définissant un noeud terminal si un des noeuds fils est vide si le nombre d’observation est inférieur à un seuil (entre 1 et 5) Règle d’affectation d’un noeud à une classe la classe majoritaire la classe a posteriori la plus probable (si des probabilités a priori sont connues) la classe la moins coûteuse (si des coûts de mauvais classements sont connus) 76 / 79 Arbre binaire de classification Construction d’un arbre optimal les arbres ainsi créés sont souvent très raffinés et donc instable (sur-ajustement) on va recherche des arbres plus parcimonieux : méthode CART (Breinman et al. 1984) Algorithm 4 CART 1: construction de l’arbre maximal 2: construction d’une séquence d’arbre emboités 3: on compare tous les arbres obtenus en supprimant une des dernières divisions (et donc une feuille) suivant un critère d’erreur de classement, et on retient le meilleur ainsi de suite en remontant jusqu’à la racine comparer les arbres obtenus via un taux de mauvais classement estimé sur échantillon test ou par validation croisée 77 / 79 Arbre binaire de classification Avantages règle d’affectation lisible aucune hypothèse paramétrique robuste vis-à-vis des données atypiques Inconvenients demande des tailles d’échantillons grandes coûteux en temps de calcul parfois instable Packages rpart{rpart} 78 / 79 Arbre binaire de classification : les Iris de Fisher Illustration sur les données Iris Petal.L.< 2.45 | 1 50/50/50 Petal.W.< 1.75 1 50/0/0 2 0/50/50 2 0/49/5 79 / 79 3 0/1/45