Fouille de données / Data Mining -...

Post on 12-Sep-2018

239 views 5 download

Transcript of Fouille de données / Data Mining -...

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 miningEnsemble d’approches statistiques permettant d’extraire de l’informationde 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

1P. Besse et al., Data Mining et Statistique, Journal de la Société Française deStatistique, 142[1], 2001.

2 / 79

La fouille de données : qu’est-ce que c’est ?

Fouille de données / data miningEnsemble d’approches statistiques permettant d’extraire de l’informationde 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

1P. Besse et al., Data Mining et Statistique, Journal de la Société Française deStatistique, 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éthodesprédictives

méthodesdescriptives

6 / 79

La fouille de données : panorama des méthodes

méthodesprédictives

classificationsupervisée

prédireY quali.

régressionprédire

Y quanti.

méthodesdescriptives

détectionsde liens

recherched’associations

analysefactorielleACP, AFC,

ACM

clustering

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 dimensionfaible

� régressionpré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 classesrepré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

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 classesrepré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 unesignification 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 individusde 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 certainemaladie...

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)

� régression logistique� k plus proche voisins� arbre de classification (méthode CART)

12 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre de classification

13 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre de classification

14 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre 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 que1. d(Xi ,Xj ) ≥ 02. 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 ∈ ELorsque 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

d2(Xi ,Xj ) = (Xi − Xj )tM(Xi − Xj )

� distance euclidienne (M = I) : d(Xi ,Xj ) =(∑p

`=1(Xi` − Xj`)2)1/2

� distance de Mahalanobis (M = V−1 avec V la matrice de covariance)� ...

Distances pour données binaires E = {0,1}p

� dissimilarité de Jaccard : d(Xi ,Xj ) = 1− aa+b+c où

� a = #{`, 1 ≤ ` ≤ p : Xi` = Xj`}� b = #{`, 1 ≤ ` ≤ p : Xi` = 1 et Xj` = 0}� c = #{`, 1 ≤ ` ≤ p : Xi` = 0 et Xj` = 1}

� ...17 / 79

Comparaison de partitions

On utilise souvent l’indice de Rand pour comparer deux partitionsZ1 = (Z11, . . . ,Z1n) et Z2 = (Z21, . . . ,Z2n) :

R =a + d

a + b + c + d=

a + d(2n

) ∈ [0,1]

où, parmi les(2

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éesdans Z2

� c : nombre de paires séparées dans Z1 mais dans une même classedans 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.

Correction : a = 1, d = 3,(2

5

)= 10 et R = 0.4

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,(2

5

)= 10 et R = 0.4

19 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre de classification

20 / 79

Algorithme des kmeans kmeans{stats}

On se place dans E = Rp muni de la distance euclidienne.

Algorithm 1 kmeans1: init. : tirages au hasard de K centres µk parmi les n observations2: while partition non stable do3: affecter chaque observation à la classe dont le centre est le plus

proche4: recalculer les centres (moyennes) des classes5: 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∑

i=1

d2(Xi , µ) : inertie totale du nuage de point (µ est le centre global)

� B(Z) =K∑

k=1

nk d2(µk , µ) : inertie inter-classe (nk nb. obs. dans classe k )

� W (Z) =K∑

k=1

∑i=1,n:Zi=k

d2(Xi , µk ) : inertie intra-classe

� 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) :

1 2 3 4 5 6 7

24

68

10

K

iner

tie in

tra−

clas

se

coude

24 / 79

Exercice

Réaliser une classification automatique en 2 classes à l’aide del’algorithme de kmeans sur les données suivantes :� X1 = 0� X2 = 2� X3 = 6� X4 = 11Avez-vous tous obtenus les mêmes partitions ?

Correction sous : kmeans(c(0,2,6,11),centers=c(2,6))

25 / 79

Exercice

Réaliser une classification automatique en 2 classes à l’aide del’algorithme de kmeans sur les données suivantes :� X1 = 0� X2 = 2� X3 = 6� X4 = 11Avez-vous tous obtenus les mêmes partitions ?

Correction sous : kmeans(c(0,2,6,11),centers=c(2,6))

25 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre de classification

26 / 79

Algorithme de CAH hlcust{stats}

Soit D une distance entre classe (critère d’agrégation).

Algorithm 2 CAH1: init. : chaque singleton (observation) constitue une classe2: while plus d’une classe do3: calculer les distances D entre chaque classe 2 à 24: regrouper les deux classes les plus proches5: end while

27 / 79

CAH : quel critère d’agrégation ?Soit A et B deux classes (ensembles d’individus). Soit d une distanceentre 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∈A

∑Y∈B

d(X,Y)

#A#B

� WardD(A,B) =

#A#B#A + #B

d2(µA, µB)

où µA et µB sont les centres de gravité des classes A et B28 / 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 graphiqueOn représente le résultat d’une CAH par un dendogramme dontl’ordonnée est la valeur du critère d’agrégation.

1

23

4

5

6

7

8

7 8 5 6 4 1 2 3

02

46

810

12

Cluster Dendrogram

hclust (*, "ward")

30 / 79

Exercice

� Réaliser une CAH sur les données suivantes à l’aide des critères dusaut minimum et du saut maximum :� X1 = 0� X2 = 2� X3 = 6� X4 = 11

� Représenter le dendogramme.� Comparer les partitions en 2 classes avec celle obtenue par les

kmeans ?

31 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre 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∑

k=1

pk fk (x) = fX(x).

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) =pk fk (x)

fX(x).

33 / 79

MM : estimation

Idée fondamentale� maximum de vraisemblance pour θ = (θk )1≤k≤K

� déduire Z grâce aux tk (xi ) par maximum a posteriori (MAP) :

Zi = k si tk (xi ) > tl (xi ) ∀l 6= k

Log-vraisemblance

l(θ,x1, . . . ,xn) =n∑

i=1

log fX(xi ) =n∑

i=1

logK∑

k=1

pk fk (xi )

On cherche alors θ = argmaxθ l(θ,x1, . . . ,xn)

34 / 79

MM : estimation

Algorithm 3 Algorithme EM

1: init. : choix aléatoire de θ(0)

2: while |l(θ(m),x1, . . . ,xn)− l(θ(m+1),x1, . . . ,xn)| < ε do3: étape E (estimation) : calculer

Q(θ, θ(m)) = Eθ(m) [l(θ,X1, . . . ,Xn,Z1, . . . ,Zn)|X1 = x1, . . . ,Xn = xn]

⇒ revient à calculer tk (xi ) = pk fk (xi )∑K`=1 p`fk (xi )

4: étape M (maximisation) : calculer

θ(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 deshypothèses sur la décomposition spectrale des matrices de variances

Σk = λk Dk Ak Dtk

� Ak = A : forme des classes identiques� Dk = D : orientation des classes identiques� λk = λ : volume des classes identiques

36 / 79

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) :

BIC = −2l(θ,x1, . . . ,xn) + d ln(n),

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èlegaussien 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 tk (xi ) calculés à l’étape E sont arrondis à 1

(pour la classe k maximisant tk (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 FisherR> plot(iris[,1:4],col=iris$Species)

Sepal.Length

2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5

4.5

5.5

6.5

7.5

2.0

3.0

4.0

Sepal.Width

Petal.Length

12

34

56

7

4.5 5.5 6.5 7.5

0.5

1.5

2.5

1 2 3 4 5 6 7

Petal.Width

40 / 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 2components:log.likelihood n df BIC ICL-215.726 150 26 -561.7285 -561.7289Clustering table:1 250 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=1:5)R> summary(model)-----------------------------------Gaussian finite mixture model fitted by EM algorithm-----------------------------------Mclust VEV (ellipsoidal, equal shape) model with 2components:log.likelihood n df BIC ICL-215.726 150 26 -561.7285 -561.7289Clustering table:1 250 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 3components:log.likelihood n df BIC ICL-186.0736 150 38 -562.5514 -566.4577Clustering table:1 2 350 45 55

R> table(model$classification,iris$Species)setosa versicolor virginica

1 50 0 02 0 45 0

3 0 5 5042 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre de classification

43 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre 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 lesparamè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

CV =1n

n∑i=1

1Iz(i)=zi

où z(i) est la prédiction de la classe du ième individu obtenu sansutiliser cet individu pour estimer les paramètres du modèle

� la validation croisée K-fold où l’échantillon d’apprentissage estdécoupé en K partie, chaque partie servant tour à tour d’échantillontest (leave one out = n-fold)

� un critère de choix de modèles (BIC) pour les méthodes probabilistes46 / 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

prédit totalZ = 0 Z = 1

réel Z = 0 VN FP NZ = 1 FN VP P

total N P n

� positif : relatif à une modalité de référence (Z = 1, malade, achat...)� s : seuil tel que Z = 1 si p(Z = 1) ≥ s� Se(s) = VP

VP+FN : sensibilité (taux de vrais positifs)� 1− Sp(s) = 1− VN

VN+FP : 1-spécificité (taux de faux positifs)

47 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre 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� pk = nk

n où nk est le nombre d’observations de la classe k (Gk )

� µk = 1nk

∑xi∈Gk

xi

� Σ = 1n

∑Kk=1

∑xi∈Gk

(xi − µk )t (xi − µk ) pour LDA

� Σk = 1nk

∑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∑l 6=k

C(k , l)tl (x) <K∑

l 6=k ′C(k ′, l)tl (x) ∀k ′ 6= k

� cas d’égalité des coûts (MAP):� on classe X = x dans Gk si tk (x) > tl (x) ∀l 6= k

� cas de deux classes :� on classe X = x dans G1 si g(x) = C(2,1)t1(x)

C(1,2)t2(x)> 1.

� g(x) = 1 définit la surface discriminante

51 / 79

LDA / QDATerminologie� 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éesquantitatives

� mixmodLearn{Rmixmod} pour encore plus de modèles pourdonné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 :� classe 1 : X1 = 0, X2 = 2� classe 2 : X3 = 6, X4 = 11

Corrections :QDA� p1 = p2 = 0.5� classe 1 : µ1 = 1, σ2

1 = 1� classe 2 : µ2 = 8.5, σ2

2 = 254

� t1(4) = 0.5fN (4,1,1)0.5fN (4,1,1)+0.5fN (4,8.5, 25

4 )= 0.08254814

LDA� σ2 = 17.6875� t1(4) = 0.5fN (4,1,17.6875)

0.5fN (4,1,17.6875)+0.5fN (4,8.5,17.6875) = 0.5044949

54 / 79

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� p1 = p2 = 0.5� classe 1 : µ1 = 1, σ2

1 = 1� classe 2 : µ2 = 8.5, σ2

2 = 254

� t1(4) = 0.5fN (4,1,1)0.5fN (4,1,1)+0.5fN (4,8.5, 25

4 )= 0.08254814

LDA� σ2 = 17.6875� t1(4) = 0.5fN (4,1,17.6875)

0.5fN (4,1,17.6875)+0.5fN (4,8.5,17.6875) = 0.504494954 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre 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 :

tk (x) =nk

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 classessuivantes, par la méthode K NN avec différentes valeurs de K :� classe 1 : X1 = 0, X2 = 2� classe 2 : X3 = 6, X4 = 11

58 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre 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 ∈ {m1j , . . . ,m

kjj } : transformée en variables indicatrices

Xj ⇒(

1IXj=m1j, . . . ,1I

Xj=mkj−1

j

)

60 / 79

RL : le modèlePrincipe� on cherche à modéliser de façon linéaire ln P(Y=1|X=x)

1−P(Y=1|X=x) :

lnP(Y = 1|X = x)

1− P(Y = 1|X = x)= ln

π(x)

1− π(x)︸ ︷︷ ︸logit(π(x))

= β0 +

p∑j=1

βjxj

ce modèle s’écrit aussi

π(x) =exp (β0 +

∑pj=1 βjxj )

1 + exp (β0 +∑p

j=1 βjxj )

61 / 79

RL : Estimation

Maximum de log-vraisemblance conditionnelle

`(β) =n∑

i=1

ln P(Y = yi |X = xi ) =n∑

i=1

yiβt xi − ln(1 + expβt xi )

� dérivée par rapport à β non linéaire en β

∂l(β)

∂β=

n∑i=1

yi xi − xiexpβt xi

1 + expβt xi

� 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 aulieu d’avoir Y = 0 lorsque X = xi au lieu de X = xj

odds-ratio(xi ,xj ) =odds(xi )

odds(xj )

63 / 79

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

� ⇒ odds-ratio(fumeur,non fumeur) = 1/991/9999 = 101 : on a 101 fois plus

de chance d’avoir un cancer des poumons pour un fumeur que pourun 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 +

∑pj=1 βjxj )

1 + exp (β0 +∑p

j=1 βjxj )

On peut alors définir la règle de classement suivante :

y∗s =

{1 si P(Y = 1|X = x∗; β) ≥ s0 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 variablesUne 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 lnmaxβ LH0 (β)

maxβ LH1 (β)→ χ2

1

où LH0 et LH1 sont respectivement les vraisemblances du modèlesans et avec la variable Xj ,

� le test de Wald : sous H0

β2j

σ2j→ χ2

1

où σ2j est la variance de l’estimateur de βj

66 / 79

RL : Sélection de variablesBeaucoup de variables explicatives⇒ algorithme de sélection devariables� 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) :

lnπk (x)

πK (x)= β0k +

p∑j=1

βjk xj ∀1 ≤ k ≤ K − 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 :

lnπk+1(x) + . . .+ πK (x)

π1(x) + . . .+ πk (x)= β0k +

p∑j=1

βjk xj ∀1 ≤ k ≤ K − 1.

68 / 79

Régression logistique

Packages� glm{stat}

69 / 79

Exemple : cancer du sein bénin / malin

Cl.thickness

2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8

26

10

26

10

Cell.size

Cell.shape

26

10

26

10

Marg.adhesion

Epith.c.size

26

10

26

10

Bare.nuclei

Bl.cromatin

26

10

26

10

Normal.nucleoli

2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8

26

10

Mitoses

70 / 79

Exemple : cancer du sein bénin / malinModè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.6531Cl.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.4374Marg.adhesion 1.544e-01 1.648e-01 0.937 0.3488Epith.c.size 1.163e-01 2.439e-01 0.477 0.6334Bare.nuclei 4.429e-01 1.419e-01 3.121 0.0018 **Bl.cromatin 3.474e-01 2.613e-01 1.329 0.1838Normal.nucleoli 1.315e-01 1.563e-01 0.842 0.4000Mitoses 3.072e-01 4.154e-01 0.740 0.4595

--

AIC: 79.24771 / 79

Exemple : cancer du sein bénin / malinModè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.97672 / 79

Plan

Classification non superviséeGénéralitésMéthode des centres mobiles (kmeans)Classification Ascendante HiérarchiqueModèles de mélanges

Classification superviséeGénéralitésAnalyse discriminante probabilisteMéthode des K plus proches voisinsRégression logistiqueArbre 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 classificationCritère de division� D : critère d’hétérogénéité d’un noeud

� critère d’entropie

D = −2nK∑

k=1

nk

nlog

nk

n

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

p

entr

opie

où n est le nombre d’éléments du noeud, nk celui de la classe k , et avecla convention 0 log 0 = 0

� indice de Gini

D = −K∑

k=1

nk

n

(1− nk

n

)0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.1

0.2

0.3

0.4

0.5

p

indi

ce d

e G

ini

� on retient la division qui maximise

Dnoeud − (Dfils gauche + Dfils droit)

75 / 79

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 classificationConstruction 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 CART1: construction de l’arbre maximal2: construction d’une séquence d’arbre emboités

� on compare tous les arbres obtenus en supprimant une des dernièresdivisions (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

3: comparer les arbres obtenus via un taux de mauvais classement es-timé 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

Petal.W.< 1.75

150/50/50

150/0/0

20/50/50

20/49/5

30/1/45

79 / 79