Vous êtes sur la page 1sur 94

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,
2 / 79
142[1], 2001.
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,
2 / 79
142[1], 2001.
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 méthodes
descriptives prédictives

6 / 79
La fouille de données : panorama des méthodes

clustering classification
méthodes méthodes supervisée
descriptives prédictives prédire
Y quali.

analyse
factorielle
ACP, AFC, régression
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)
 régression logistique
 k plus proche voisins
 arbre de classification (méthode CART)
12 / 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

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 1/2
 distance euclidienne (M = I) : d(Xi , Xj ) = `=1 (Xi` − Xj` )2
 distance de Mahalanobis (M = V−1 avec V la matrice de covariance)
 ...

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


a
 dissimilarité de Jaccard : d(Xi , Xj ) = 1 − a+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 partitions


Z1 = (Z11 , . . . , Z1n ) et Z2 = (Z21 , . . . , Z2n ) :

a+d a+d
R= = 2 ∈ [0, 1]
a+b+c+d n

2

où, parmi les 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.
2

Correction : a = 1, d = 3, 5 = 10 et R = 0.4

19 / 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

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)

n
X
 T = d 2 (Xi , µ) : inertie totale du nuage de point (µ est le centre global)
i=1
K
X
 B(Z) = nk d 2 (µk , µ) : inertie inter-classe (nk nb. obs. dans classe k )
k =1
X K X
 W (Z) = 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
23 / 79
init. et on conserve celle minimisant W (Z))
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) :
inertie intra−classe
10
8
6

coude
4
2

1 2 3 4 5 6 7
K

24 / 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 ?

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 : kmeans(c(0,2,6,11),centers=c(2,6))

25 / 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

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
X X d(X, Y)
D(A, B) =
#A#B
X∈A Y∈B

 Ward
#A#B 2
D(A, B) = 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

12
10
2
3

8
6
1
6 4
2

7
0

3
5

30 / 79

hclust (*, "ward")


Exercice

 Réaliser une CAH sur les données suivantes à l’aide des critères du
saut 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é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)
K
X
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) :
pk fk (x)
tk (x) = P(Z = k |X = x) = .
fX (x)
33 / 79
MM : estimation

Idée fondamentale
 maximum de vraisemblance pour θ = (θk )1≤k ≤K
 déduire Z
b grâce aux tk (xi ) par maximum a posteriori (MAP) :

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


Z

Log-vraisemblance
n
X n
X K
X
l(θ, x1 , . . . , xn ) = log fX (xi ) = log pk fk (xi )
i=1 i=1 k =1

On cherche alors θb = 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 )| <  do
3: étape E (estimation) : calculer

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


p f (x )
⇒ revient à calculer btk (xi ) = PK k k i
`=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 des
hypothèses sur la décomposition spectrale des matrices de variances
Σk = λk Dk Ak Dkt
 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(θ,
b 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è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.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5

7.5
6.5
Sepal.Length

5.5
4.5
4.0

Sepal.Width
3.0
2.0

7
6
5
Petal.Length

4
3
2
1
2.5
1.5

Petal.Width
0.5

4.5 5.5 6.5 7.5 1 2 3 4 5 6 7


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 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
1X
CV = 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

prédit total
Z =0 Z =1
Z =0 VN FP N
réel
Z =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 b = 1 si p(Zb = 1) ≥ s
VP
 Se(s) = VP+FN : sensibilité (taux de vrais positifs)
VN
 1 − Sp(s) = 1 − VN+FP : 1-spécificité (taux de faux positifs)

47 / 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

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
nk
 p̂k = noù nk est le nombre d’observations de la classe k (Gk )
1
P
µ̂k = xi ∈Gk xi

nk
K
Σ̂ = n1 k =1 xi ∈Gk (xi − µk )t (xi − µk ) pour LDA
P P


Σ̂k = n1k xi ∈Gk (xi − µk )t (xi − µk ) pour QDA


P


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 K
X
C(k , l)tl (x) < C(k 0 , l)tl (x) ∀k 0 6= k
l6=k l6=k 0

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

51 / 79
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 :
 classe 1 : X1 = 0, X2 = 2
 classe 2 : X3 = 6, X4 = 11

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
 p̂ = p̂ = 0.5
1 2
 classe 1 : µ̂ = 1, σ̂ 2 = 1
1 1
 classe 2 : µ̂ = 8.5, σ̂ 2 =
25
2 2 4
0.5fN (4,1,1)
 t1 (4) = 0.5fN (4,1,1)+0.5fN (4,8.5, 25
= 0.08254814
4 )

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 :
 classe 1 : X1 = 0, X2 = 2
 classe 2 : X3 = 6, X4 = 11

58 / 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

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
k
 Xj ∈ {mj1 , . . . , mj j } : transformée en variables indicatrices
 
Xj ⇒ 1IXj =m1 , . . . , 1I kj −1
j Xj =mj

60 / 79
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
P(Y = 1|X = x) π(x) X
ln = ln = β0 + βj x j
1 − P(Y = 1|X = x) 1 − π(x)
| {z } j=1
logit(π(x))

ce modèle s’écrit aussi


Pp
exp (β0 + j=1 βj x j )
π(x) = Pp
1 + exp (β0 + j=1 βj xj )

61 / 79
RL : Estimation

Maximum de log-vraisemblance conditionnelle


n
X n
X
`(β) = ln P(Y = yi |X = xi ) = yi β t x̃i − ln(1 + exp β t x̃i )
i=1 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:

π(x)
odds(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(xi )
odds-ratio(xi , xj ) =
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
1/99
 ⇒ odds-ratio(fumeur, non fumeur) = 1/9999 = 101 : on a 101 fois plus
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
Pp

exp (β̂0 + j=1 β̂j xj )
P(Y = 1|X = x ; β̂) = Pp
1 + exp (β̂0 + 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

maxβ LH0 (β)


D = −2 ln → χ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
→ χ21
σ̂j2

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
πk (x) X
ln = β0k + βjk xj ∀1 ≤ k ≤ K − 1.
πK (x)
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
πk +1 (x) + . . . + πK (x) X
ln = β0k + βjk xj ∀1 ≤ k ≤ K − 1.
π1 (x) + . . . + πk (x)
j=1

68 / 79
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 2 4 6 8

6 10
Cl.thickness

2
6 10

Cell.size
2

6 10
Cell.shape

2
6 10

Marg.adhesion
2

6 10
Epith.c.size

2
6 10

Bare.nuclei
2

6 10
Bl.cromatin

2
6 10

Normal.nucleoli
2

6 10
Mitoses

2
2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8
70 / 79
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

 critère d’entropie

0.7
0.6
K

0.5
X nk nk

entropie
0.4
D = −2n log

0.3
n n

0.2
k =1

0.1
0.0
0.0 0.2 0.4 0.6 0.8 1.0
p

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

0.5


0.4
K
nk  nk 

indice de Gini
X

0.3
D=− 1−
n n

0.2
k =1

0.1
0.0
0.0 0.2 0.4 0.6 0.8 1.0
p

 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 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
 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
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
|
1
50/50/50

Petal.W.< 1.75
1 2
50/0/0 0/50/50

2 3
0/49/5 0/1/45

79 / 79

Vous aimerez peut-être aussi