Documente Academic
Documente Profesional
Documente Cultură
ements de classification
El
Christophe Chesneau
http://www.math.unicaen.fr/~chesneau/
Universit de Caen
Classification
2 Introduction
2.1
Classification non-supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Classification supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
Les mtiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
10
4.1
Nuage de points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
4.2
Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.3
carts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
22
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
5.2
Description de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
5.3
Dendrogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
5.4
Quelques commandes R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
32
40
8 ACP et CAH
44
46
48
60
61
C. Chesneau
Universit de Caen
Classification
67
69
74
16 Rgression logistique
78
Index81
C. Chesneau
Universit de Caen
Classification
Prsentation
Ce document rsume les notions abordes dans le cours lments de classification du Master 1
C. Chesneau
Universit de Caen
Classification
Introduction
On prsente ici les enjeux de la classification non-supervise et de la classification supervise.
2.1
Classification non-supervise
Contexte : On considre n individus extraits au hasard dune population. Pour chacun dentre eux,
on dispose de p valeurs de p caractres X1 , . . . , Xp .
Objectif : Partant des donnes, lobjectif est de regrouper/classer les individus qui se ressemblent le
plus/qui ont des caractristiques semblables.
Ce regroupement peut avoir des buts divers : tenter de sparer des individus appartenant
des sous-populations distinctes, dcrire les donnes en procdant une rduction du nombre
dindividus pour communiquer, simplifier, exposer les rsultats. . .
Exemple : Dans une classe, un professeur souhaite faire des binmes constitus dlves ayant des
comptences semblables. Parmi ceux-ci, 6 lves ont obtenu les notes suivantes :
Maths
Physique
Ed Mus
Art Plas
Boris
20
20
Mohammad
12
12
Stphanie
20
20
Jean
20
20
Lilly
10
10
10
10
Annabelle
18
18
Tous les lves ont une moyenne de 10/20 mais, vu les notes,
Boris et Stphanie ont un profil similaire,
Mohammad et Lilly ont un profil similaire,
Jean et Annabelle ont un profil similaire.
Finalement, le professeur dcide de faire 2 groupes cohrents de 3 lves avec ces 6 lves. Lesquels
proposez-vous ?
C. Chesneau
Universit de Caen
Classification
2.2
Classification supervise
Contexte : On considre une population divise en q groupes dindividus diffrents. Ces groupes sont
distinguables suivant les valeurs de p caractres X1 , . . . , Xp , sans que lon ait connaissance des
valeurs de X1 , . . . , Xp les caractrisant. On dispose
de n individus avec, pour chacun dentre eux, les valeurs de X1 , . . . , Xp et son groupe dappartenance,
C. Chesneau
Universit de Caen
Classification
Physique
Ed Mus
Art Plas
Groupe
Boris
20
20
G1
Mohammad
12
12
G2
Stphanie
20
20
G1
Jean
20
20
G2
Lilly
10
10
10
10
G1
Annabelle
18
18
G2
Bob
Maths
Physique
Ed Mus
Art Plas
Groupe
15
13
11
inconnu
La rponse nest pas immdiate ; cest pourquoi des mthodes mathmatiques ont t mises en
place.
Applications : Quelques exemples dapplications de la classification supervise sont prsents cidessous.
Application 1 : Un archologue cherche dterminer si des restes humains sont ceux dun
homme ou dune femme.
C. Chesneau
Universit de Caen
Classification
Application 2 : Dans une banque, une commission de crdit doit dcider, partir de paramtres
financiers, si on accorde ou non un prt un particulier.
Application 3 : tant donn un ensemble de symptmes, un mdecin doit poser un diagnostic.
Application 4 : Dans lindustrie, on veut
identifier des visages, des empreintes digitales,
identifier des objets dans des squences vidos,
rechercher des clients potentiels dans des bases de donnes,
rapprocher un ou plusieurs mots de manire pertinente au texte le plus pertinent.
2.3
Les mtiers
C. Chesneau
Universit de Caen
Classification
...
Xp
1
..
.
x1,1
..
.
...
...
xp,1
..
.
x1,n
...
xp,n
o, pour tout (i, j) {1, . . . , n} {1, . . . , p}, xj,i = Xj (i ) est lobservation du caractre Xj sur
lindividu i .
Objectif : Partant des donnes, lobjectif est de regrouper/classer les individus qui se ressemblent le
plus/qui ont des caractristiques semblables.
Mthodes : Pour atteindre lobjectif, plusieurs mthodes sont possibles. Parmi elles, il y a
lalgorithme de Classification Ascendante Hirarchique (CAH),
lalgorithme des centres mobiles,
lalgorithme de Classification Descendante Hirarchique (CDH),
la mthode des nues dynamiques (partitionnement autour dun noyau),
la mthode de classification floue,
la mthode de classification par voisinage dense.
Ce document aborde quelques aspects des deux premiers points.
C. Chesneau
Universit de Caen
4.1
Classification
tude de la ressemblance
Nuage de points
x1,1 . . . xp,1
.
..
.
X=
...
.
.
x1,n . . . xp,n
Nuage de points : Pour tout i {1, . . . , n}, lindividu i peut tre reprsent dans Rp par un point
mi de coordonnes (x1,i , . . . , xp,i ). On appelle nuage de points la reprsentation graphique de
lensemble de ces points. Il est not N = {m1 , . . . , mn }.
Ressemblance : On dira que des individus se ressemblent si les points associs sont proches les uns
des autres/si les distance qui les sparent sont petites.
Ainsi, on souhaite rechercher dans N les zones denses pouvant correspondre des groupes dindividus quil sagira dinterprter par la suite.
Exemple 1 : On considre la matrice de donnes X associe 5 individus, = {1 , . . . , 5 }, dfinie
par
7.5
X=
3
0.5
3
.
C. Chesneau
10
Universit de Caen
Classification
C. Chesneau
11
Universit de Caen
Classification
Physique
Ed Mus
Art Plas
Boris
19
17
Mohammad
12
12
Stphanie
20
19
Jean
18
17
Lilly
10
11
12
12
Annabelle
12
18
18
19
20
X=
10
2
C. Chesneau
12
17
12
19
18
11 12
12 18
12
17
12
18
Universit de Caen
Classification
C. Chesneau
13
Universit de Caen
Classification
C. Chesneau
14
Universit de Caen
4.2
Classification
Distances
Distances : On peut donc aborder le problme de la ressemblance entre individus par le biais de la
notion de distance. On appelle distance sur un ensemble M toute application d : M 2 [0, [
telle que
pour tout (x, y) M 2 , on a d(x, y) = 0 si, et seulement si, x = y,
pour tout (x, y) M 2 , on a d(x, y) = d(y, x),
pour tout (x, y, z) M 3 , on a
d(x, y) =
m
X
|xi yi |.
i=1
d(x, y) =
m
X
!1
q
|xi yi |q
i=1
d(x, y) =
m
X
|xi yi |
i=1
C. Chesneau
15
|xi + yi |
Universit de Caen
Classification
d(x, y) =
|xi yi |.
sup
i{1,...,m}
Tableau des distances : Soit d une distance. On appelle tableau des distances associes aux individus (1 , . . . , n ) le tableau :
D=
C. Chesneau
...
n1
d1,2
...
d1,n1
d1,n
d2,1
...
...
...
...
...
...
...
...
...
n1
dn1,1
...
...
dn1,n
dn,1
...
...
dn,n1
16
Universit de Caen
Classification
du,v
v
uX
u p
= d(u , v ) = t (xj,u xj,v )2 .
j=1
7.5
X=
3
0.5
d(1 , 2 ) =
D=
4.3
5.85
1.41
3.35
4.47
5.85
4.60
7.07
1.50
1.41
4.60
3.20
3.16
3.35
7.07
3.20
5.59
4.47
1.50
3.16
5.59
carts
carts : Soit P() lensemble des parties de . On appelle cart toute application e : P()2 [0, [
dfinie partir dune distance et valuant la ressemblance entre deux groupes dindividus.
Rgle centrale : Plus lcart entre deux lments est petit, plus ils se ressemblent.
C. Chesneau
17
Universit de Caen
Classification
carts usuels : Parmi les carts usuels entre deux groupes A et B/mthodes usuelles mesurant la
ressemblance entre deux groupes A et B, il y a :
cart simple (single linkage)/Mthode du plus proche voisin :
e(A, B) =
min
(, )AB
d(, ).
Lcart entre deux groupes A et B est caractris par la distance la plus faible entre un
point de A et un point de B :
e(A, B) =
max
(, )AB
d(, ).
Lcart entre deux groupes A et B est caractris par la distance la plus forte entre un point
de A et un point de B :
e(A, B) =
1 X X
d(, ),
nA nB
A B
18
Universit de Caen
Classification
Lcart entre deux groupes A et B est caractris par la distance moyenne entre les points
de A et B :
e(A, B) =
nA nB 2
d (gA , gB ),
nA + nB
E=
A1
A2
...
An1
An
A1
e1,2
...
e1,n1
e1,n
A2
e2,1
...
...
...
...
...
...
...
...
...
An1
en1,1
...
...
en1,n
An
en,1
...
...
en,n1
eu,v = e(Au , Av ).
C. Chesneau
19
Universit de Caen
Classification
7.5
X=
3
0.5
E=
5.85
1.41
3.35
4.47
5.85
4.60
7.07
1.50
1.41
4.60
3.20
3.16
3.35
7.07
3.20
5.59
4.47
1.50
3.16
5.59
C. Chesneau
20
Universit de Caen
Classification
7.07
1.50
5.85
E = 4
7.07
5.59
3.35
1.50
5.59
4.47
5.85
3.35
4.47
C. Chesneau
21
Universit de Caen
5.1
Classification
Introduction
CAH : Lide de lalgorithme de Classification Ascendante Hirarchique (CAH) est de crer, chaque
tape, une partition de = {1 , . . . , n } en regroupant les deux lments les plus proches. Le
terme "lment" dsigne aussi bien un individu quun groupe dindividus.
Objectif : On veut
mettre en relief les liens hirarchiques entre les individus ou groupe dindividus,
dtecter les groupes dindividus qui se dmarquent le plus.
5.2
Description de lalgorithme
22
Universit de Caen
Classification
On regroupe les deux lments restants. Il ne reste alors quun seul lment contenant tous les
individus de .
Exemple graphique : Ci-dessous, un exemple graphique des tapes de lalgorithme CAH :
Quelques commandes R : hclust et agnes : On peut aussi utiliser la commande hclust (pour Hierarchical CLUSTering) :
x = c(2.4, 7.1, 3.8, 1.2, 6.5, 2.1, 4.3, 3, 5.1, 4.3)
m = matrix(x, ncol = 2, nrow = 5)
d = dist(m, method = "euclidean")
cah = hclust(d, "complete")
cah$merge
C. Chesneau
23
Universit de Caen
Classification
5.3
Dendrogramme
C. Chesneau
24
Universit de Caen
Classification
7.5
X=
3
0.5
On va regrouper les individus avec lalgorithme CAH et la mthode du voisin le plus loign
munie de la distance euclidienne.
Le tableau des carts associ P0 = ({1 }, . . . , {5 }) est
1
5.85
1.41
3.35
4.47
5.85
4.60
7.07
1.50
1.41
4.60
3.20
3,16
3.35
7.07
3.20
5.59
4.47
1.50
3.16
5.59
Les lments (individus) 1 et 3 ont lcart le plus petit : ce sont les lments les plus proches.
On les rassemble pour former le groupe : A = {1 , 3 }. On a une nouvelle partition de :
P1 = ({2 }, {4 }, {5 }, A).
C. Chesneau
7.07
1.50
5.85
7.07
5.59
3.35
1.50
5.59
4.47
5.85
3.35
4,47
25
Universit de Caen
Classification
On a
e(2 , A) = max(e(2 , 1 ), e(2 , 3 )) = max(5.85, 4.60) = 5.85,
e(4 , A) = max(e(4 , 1 ), e(4 , 3 )) = max(3.35, 3.20) = 3.35
et
e(5 , A) = max(e(5 , 1 ), e(5 , 3 )) = max(4.47, 3.16) = 4.47.
Les lments (individus) 2 et 5 sont les plus proches. On les rassemble pour former le groupe :
B = {2 , 5 }. On a une nouvelle partition de :
P2 = ({4 }, A, B).
3.35
7.07
3.35
5.85
7.07
5.85
On a
e(B, 4 ) = max(e(2 , 4 ), e(5 , 4 )) = max(7.07, 5.59) = 7.07
et
e(B, A) = max(e(2 , A), e(5 , A)) = max(5.85, 4.47) = 5.85.
Les lments 4 et A sont les plus proches. On les rassemble pour former le groupe :
C = {4 , A} = {1 , 3 , 4 }. On a une nouvelle partition de :
P3 = (B, C).
C. Chesneau
26
Universit de Caen
Classification
7.07
7.07
On a
e(C, B) = max(e(4 , B), e(A, B)) = max(7.07, 5.85) = 7.07.
Il ne reste plus que 2 lments, B et C ; on les regroupe. On obtient la partition
P5 = {1 , . . . , 5 } = . Cela termine lalgorithme de CAH.
Au final,
les lments {1 } et {3 } ont t regroups avec un cart de 1.41,
les lments {2 } et {5 } ont t regroups avec un cart de 1.50,
les lments A = {1 , 3 } et {4 } ont t regroups avec un cart de 3.35,
les lments C = {4 , A} et B = {2 , 5 } ont t regroups avec un cart de 7.07.
On peut donc construire le dendrogramme associ :
C. Chesneau
27
Universit de Caen
Classification
Comme le plus grand saut se situe entre les lments B et C (on a 7.073.35 = 3.72), on propose
les deux groupes : B et C.
5.4
Quelques commandes R
[,2]
[1,]
-1
-3
[2,]
-2
-5
[3,]
-4
[4,]
C. Chesneau
28
Universit de Caen
Classification
Ainsi, la premire tape, les individus 1 et 3 ont t regroups, formant ainsi le groupe 1,
la deuxime tape, 2 et 5 ont t regroups, formant ainsi le groupe 2, la troisime tape 4
et le groupe 1, ont t regroups, formant ainsi le groupe 3, et pour finir, les groupes 2 et 3 ont
t regroups.
On affiche les carts de regroupements :
hc$height
Cela renvoie : 1.414214
1.500000
3.354102
lexercice, savoir :
les lments {1 } et {3 } ont t regroups avec un cart de 1.41,
les lments {2 } et {5 } ont t regroups avec un cart de 1.50,
les lments A = {1 , 3 } et {4 } ont t regroups avec un cart de 3.35,
les lments C = {4 , A} et B = {2 , 5 } ont t regroups avec un cart de 7.07.
On trace le dendrogramme :
plot(hc, hang = -1)
On peut demander quel groupe chaque individu appartient suivant la hauteur des sauts avec
la commande cutree. Avec 2 groupes, on a :
cutree(hc, k = 2)
On peut alors afficher clairement les groupes :
rect.hclust(hc, 2)
C. Chesneau
29
Universit de Caen
Classification
30
Universit de Caen
Classification
On obtient
le dendrogramme :
C. Chesneau
31
Universit de Caen
Classification
1X
xj,i .
n
xj =
i=1
Itot =
1X 2
d (i , g).
n
i=1
Itot =
p
X
s2j ,
s2j =
1X
(xj,i xj )2 .
n
i=1
j=1
I(N` ) =
1 X 2
d (i , g` ).
n`
iN`
C. Chesneau
32
Universit de Caen
Classification
Iintra (P) =
p X
h X
X
1
I(N` ) =
(xj,i xj,` )2 .
n
n
h
X
n`
`=1
Iinter (P) =
p X
h X
X
1
(xj,` xj )2 .
d2 (g` , g) =
n
n
h
X
n`
`=1
On constate que minimiser linertie intra-classes est quivalent maximiser linertie inter-classes.
Cette dcomposition est illustre par les schmas ci-dessous :
Le point g est le centre de gravit du nuage de points, g1 est celui du sous-nuage de points
gauche, g2 est celui du sous-nuage de points droite et g3 est celui du sous-nuage de points en
bas. Les traits de couleurs reprsentent les distances entre les points et les centres de gravit.
C. Chesneau
33
Universit de Caen
Classification
Alors la somme des distances des traits bleus au carr est gale la somme des distances des
traits verts au carr plus la somme des traits orange au carr. Ce rsultat est une consquence
du thorme de Pythagore.
Sur lcart de Ward : Lutilisation de lalgorithme de CAH avec la mthode de Ward est justifie
par le rsultat suivant :
Soient n = {1 , . . . , n } n individus et g le centre de gravit associ. Soient A et B deux groupes
dindividus
deffectifs respectifs nA et nB ,
de centres de gravit associs respectifs gA et gB .
Le regroupement de A et B, not A B, a pour centre de gravit :
gAB =
nA gA + nB gB
.
nA + nB
La perte dinertie inter-classes lors du regroupement de A et B est gale 1/n multipli par
nA d2 (gA , g) + nB d2 (gB , g) (nA + nB )d2 (gAB , g) =
nA nB 2
d (gA , gB ).
nA + nB
On reconnait alors lcart de Ward qui est donc une mesure de la perte dinertie inter-classes lors
du regroupement de A et B. Ainsi, chaque tape de lalgorithme de CAH, on veut regrouper
des lments dont le regroupement provoque une perte minimale de linertie inter-classes.
Dendrogramme associ lcart de Ward : Pour la hauteur des branches, on peut soit prendre
les carts, soit prendre les inerties intra-classe correspondants aux diffrents niveaux de regroupement.
Commande agnes et cart de Ward : La commande agnes avec method = "ward" considre un
cart dfini comme une transformation de lcart de Ward original :
e(A, B) =
nA nB 2
2
d (gA , gB ) = 2 cart de Ward.
nA + nB
C. Chesneau
34
Universit de Caen
Classification
7.5
X=
3
0.5
17.12
5.62
10
17.12
10.62
25
1,12
10.62
5.12
5.62
25
5.12
15.62
10
1.12
15.62
Par exemple, on a
e(1 , 2 ) =
11
(2 7.5)2 + (2 4)2 = 17.12.
1+1
Les lments (individus) 1 et 3 ont lcart le plus petit : ce sont les lments les plus proches.
On les rassemble pour former le groupe : A = {1 , 3 }. On a une nouvelle partition de :
P1 = ({2 }, {4 }, {5 }, A).
Iintra (P1 ) =
C. Chesneau
35
1
1 = 0.2.
5
Universit de Caen
Classification
2+3 2+3
,
2
2
= (2.5, 2.5).
25
1.12
18.16
25
15.62
6.83
1.12
15.62
9.66
18.16
6.83
9.66
Par exemple, on a
e(2 , A) =
12
(7.5 2.5)2 + (4 2.5)2 = 18.16.
1+2
Les lments (individus) 2 et 5 sont les plus proches. On les rassemble pour former le groupe :
B = {2 , 5 }. On a une nouvelle partition de :
P2 = ({4 }, A, B).
1
1.12 = 0.424.
5
C. Chesneau
36
Universit de Caen
Classification
6.83
26.7
6.83
20.31
26.7
20.31
On a, par exemple,
e(B, A) =
22
(6.75 2.5)2 + (4 2.5)2 = 20.31.
2+2
Les lments 4 et A sont les plus proches. On les rassemble pour former le groupe :
C = {4 , A}. On a une nouvelle partition de :
P3 = (B, C).
1
6.83 = 1.79.
5
2 + 3 + 0.5 2 + 3 + 5
,
3
3
= (1.83, 3.33).
29.58
29.58
On a
e(B, C) =
C. Chesneau
23
(6.75 1.83)2 + (4 3.33)2 = 29.58.
2+3
37
Universit de Caen
Classification
1
29.58 = 7.706.
5
v
u n
u1 X
(x1,i x1 )2 = 2.5807,
1 = t
n
i=1
v
u n
u1 X
(x2,i x2 )2 = 1.0198.
2 = t
n
i=1
Donc
I(N ) = 2.58072 + 1.01982 = 7.701.
On admet alors lgalit (en prenant en compte les arrondis de dcimales).
Au final,
les lments {1 } et {3 } ont t regroups avec un cart de 1,
les lments {2 } et {5 } ont t regroups avec un cart de 1.12,
les lments A = {1 , 3 } et {4 } ont t regroups avec un cart de 6.83,
les lments B = {2 , 5 } et C = {4 , A} ont t regroups avec un cart de 29.58.
On peut donc construire le dendrogramme associ.
Quelques commandes R : Avec la commande agnes, on propose :
x = c(2, 7.5, 3, 0.5, 6, 2, 4, 3, 5, 4)
m = matrix(x, ncol = 2, nrow = 5)
library(cluster)
ag = agnes(m, method = "ward")
pltree(ag, hang = -1)
C. Chesneau
38
Universit de Caen
Classification
On obtient :
Comme le plus grand cart se situe entre les lments B et C, on envisage de considrer ces deux
groupes.
Avec la commande agnes, notons que la formule : 2 cart de Ward a t utilise pour les
C. Chesneau
39
Universit de Caen
Classification
o
pour tout i {1, . . . , n}, Ai dsigne le premier lment avec lequel i a t regroup,
Q et R dsignent les deux derniers groupes rassembls ltape finale de lalgorithme.
On a AC ]0, 1[.
Plus AC est proche de 1, plus les individus sont fortement structurs en plusieurs groupes. Une
valeur proche de 0 signifie que les individus appartiennent tous un mme groupe.
Quelques commandes R : On considre le jeu de donnes "aliments" dont voici lentte :
1
2
3
4
5
6
Individus
BB
HR
BR
BS
BC
CB
X1
340
245
420
375
180
115
X2
20
21
15
19
22
20
X3
28
17
39
32
10
3
X4
9
9
7
9
17
8
X5
2.60
2.70
2.00
2.50
3.70
1.40
40
Universit de Caen
Classification
On constate alors une bonne structure de groupes, confirme par le coefficient dagglomration
proche de 1.
Indice de silhouette : Pour tout i {1, . . . , n}, on appelle indice de silhouette associ lindividu
i le rel :
S(i) =
bi ai
,
max(ai , bi )
o
ai est la moyenne des distances entre i et les individus de son groupe,
bi est la moyenne des distances entre i et les individus du groupe le plus proche de celui
auquel il appartient.
On a S(i) ] 1, 1[.
Plus S(i) est proche de 1, plus lappartenance de i a son groupe est justifie.
C. Chesneau
41
Universit de Caen
Classification
Ainsi, les individus ayant des grands indices de silhouette sont bien regroups.
Si lindice de silhouette dun individu est ngatif, lindividu nest pas dans le bon groupe et
pourrait tre dplac dans le groupe le plus proche.
Largeur de silhouette : On appelle largeur de silhouette de la partition le rel :
n
1X
S=
S(i).
n
i=1
Nature de la structure
]0.51, 1]
Forte
]0.31, 0.50]
Raisonnable
[0, 0.30[
Faible
[1, 0[
Inexistante
C. Chesneau
42
Universit de Caen
Classification
Cela renvoie une largeur de silhouette de 0.56, soit une structure forte de la partition, un individu
isol dans le troisime groupe (5 ) et pas dindividu mal regroup ; aucun indice de silhouette
nest ngatif.
Remarques : Dautres indices de qualit existent. Il y a notamment :
lindice dinertie,
lindice de connectivit,
lindice de Dunn,
le Cubic Clustering Criterion (CCC).
C. Chesneau
43
Universit de Caen
Classification
ACP et CAH
Ide : Lorsque lon travaille avec plus de 3 variables quantitatives, donc p 3, on peut faire une
analyse en composantes principales (ACP) et considrer les coordonnes des individus sur le plan
principal.
Quelques commandes R : Un exemple de commandes utilisant le package FactoMineR et lcart de
Ward est prsent ci-dessous :
library(FactoMineR)
x = c(19, 7, 20, 1, 10, 2, 17, 8, 19, 6, 11, 12, 2, 12, 9, 18, 12, 18, 8,
12, 9, 17, 12, 18)
m = matrix(x, ncol = 4, nrow = 6)
acp = PCA(m, ncp = 2, graph = F)
res = HCPC(acp)
On dcide de faire 3 groupes (la coupure se fait interactivement sur le dendrogramme affich).
On obtient les graphiques :
C. Chesneau
44
Universit de Caen
C. Chesneau
Classification
45
Universit de Caen
Classification
Parangons : Pour chaque groupe form, on appelle parangon lindividu dont les coordonnes
sont les plus proches du centre de gravit du groupe. Le profil de cet individu caractrise
alors le groupe auquel il appartient.
Caractres dominants dans la classification : Pour connatre les caractres qui jouent un
rle important dans la classification, on peut faire p ANOVA 1 facteur associes aux p
caractres considrs. Plus prcisment, pour tout j {1, . . . , p}, on fait une ANOVA 1
facteur avec :
le facteur G ayant pour modalits les q groupes forms : G1 , . . . , Gq ,
le caractre Xj (variable quantitative).
Pour chacun des p tests dhypothses, le test de Fisher renvoie alors une p-valeur valuant
linfluence du facteur sur le caractre considr. Ainsi, les caractres associs aux p-valeurs
les plus petites sont ceux qui importent le plus dans la classification obtenue.
Caractres dominants dun groupe : On peut dterminer les caractres dominants pour chacun des groupes forms. Pour se faire, pour chacun des caractres, on peut faire un test
dhypothses reposant sur loi normale. Soient G1 , . . . , Gq les q groupes forms. Pour tout
g {1, . . . , q} et tout j {1, . . . , p}, on calcule :
xj,g : la moyenne des valeurs du caractre Xj pour les individus du groupe g,
xj : la moyenne des valeurs du caractre Xj ,
ng : le nombre dindividus dans le groupe g,
sj : lcart-type corrig des valeurs du caractre Xj ,
le zobs :
xj,g xj
zobs = r
.
s2
j
ng
nng
n1
46
Z N (0, 1).
Universit de Caen
Classification
Ainsi, pour tout g {1, . . . , q}, on obtient p p-valeurs quil convient de classer par ordre
croissant. Pour chaque groupe, les plus petites correspondent aux caractres qui importent
le plus dans la constitution de ce groupe.
Quelques commandes R : On considre le jeu de donnes "zebu" dont voici lentte :
1
2
3
4
5
6
vif
395
410
405
405
390
405
carc
224
232
233
240
217
243
qsup
35.10
31.90
30.70
30.40
31.90
32.10
tota
79.10
73.40
76.50
75.30
76.50
77.40
gras
6.00
9.70
7.50
8.70
7.80
7.10
os
14.90
16.40
16.50
16.00
15.70
15.50
C. Chesneau
47
Universit de Caen
10
Classification
Algorithme des centres mobiles (k means) : Lalgorithme des centres mobiles vise classer une
population en q classes. Cela se fait de manire automatique ; il ny a pas de lien hirarchique
dans les regroupements contrairement lalgorithme CAH. Il est le mieux adapt aux trs grands
tableaux de donnes.
Lalgorithme des centres mobiles avec la mthode de Lloyd (la plus standard) est dcrit cidessous :
On choisit q points au hasard dans Rp . Ces points sont appels centres.
On calcule le tableau de distances entre tous les individus et les q centres.
On forme alors q groupes de la manire suivante : chaque groupe est constitu dun centre et
des individus les plus proches de ce centre que dun autre. On obtient une partition P1 de
.
On calcule le centre de gravit de chacun des q sous-nuages de points forms par les q groupes.
Ces q centres de gravit sont nos nouveaux q centres.
On calcule le tableau de distances entre tous les individus et les nouveaux q centres.
On forme alors q groupes, chaque groupe tant constitu dun centre et des individus les plus
proches de ce centre que dun autre. On a une nouvelle partition P2 de .
On itre la procdure prcdente jusqu ce que deux itrations conduisent la mme partition.
Remarque importante : La classification des individus dpend du choix des centres initiaux. Plusieurs mthodes existent pour choisir judicieusement ces centres.
C. Chesneau
48
Universit de Caen
Classification
Illustration : Une illustration de lalgorithme des centres mobiles est prsente ci-dessous :
X2
1. Dans un premier temps, on fait une classification par lalgorithme des centres mobiles avec,
pour centres initiaux, c01 de coordonnes (1, 1) et c02 de coordonnes (2.3).
2. Dans un deuxime temps, on fait de mme avec, pour centres initiaux, c01 de coordonnes
(1, 2) et c02 de coordonnes (1, 1).
1. On considre les centres initiaux c01 de coordonnes (1, 1) et c02 de coordonnes (2, 3).
C. Chesneau
49
Universit de Caen
Classification
c01
3.16
4.24
4.12
4.12
c02
4.12
5.66
4.47
3.16
p
(2 (1))2 + (2 (1))2 = 3.16.
A = {1 , 2 , 3 },
B = {4 , 5 , 6 }.
On considre deux nouveaux centres, c11 et c12 , lesquels sont les centres de gravit des deux
groupes A et B. Donc c11 a pour coordonnes 22+0
, 211
= (1.33, 0) et c12 a pour
3
3
coordonnes ( 22+3
, 2+3+0
) = (1, 1.67).
3
3
Le tableau des distances entre les individus et ces centres est
1
c11
2.11
1.20
1.66
3.88
3.07
4.33
c12
3.02
4.02
2.85
1.05
3.28
2.61
A = {1 , 2 , 3 , 5 },
B = {4 , 6 }.
On considre deux nouveaux centres, c21 et c22 , lesquels sont les centres de gravit des deux
, 211+3
= (1.5, 0.75) et c22
groupes A et B. Donc c21 a pour coordonnes 22+02
4
4
2+0
a pour coordonnes 2+3
= (2.5, 1).
2 , 2
C. Chesneau
50
Universit de Caen
Classification
c21
1.35
1.82
2.30
3.72
2.30
4.56
c21
4.61
4.92
3.20
1.12
4.92
1.12
A = {1 , 2 , 3 , 5 },
B = {4 , 6 }.
c01
3.16
3.16
1.41
4.47
c02
3.16
3.60
2.24
1.41
3.60
2.24
A = {1 , 2 , 5 },
B = {3 , 4 , 6 }.
On considre deux nouveaux centres, c11 et c12 , lesquels sont les centres de gravit des deux
groupes A et B. Donc c11 a pour coordonnes ( 222
, 21+3
) = (2, 1.33) et c12 a pour
3
3
coordonnes ( 0+2+3
, 1+2+0
) = (1.67, 0.33).
3
3
C. Chesneau
51
Universit de Caen
Classification
c11
0.67
2.33
3.07
4.06
1.67
5.17
c12
4.03
3.90
2.13
1.70
4.54
1.37
A = {1 , 2 , 5 },
B = {3 , 4 , 6 }.
C. Chesneau
52
Universit de Caen
Classification
Cela renvoie les groupes daffectation de chaque individu (clus$cluster), les coordonnes des
centres de gravit de chaque groupe (clus$centers) et le graphique :
On peut rejoindre les individus au centre de gravit dans chaque groupe avec la commande
segments :
segments(m[clus$cluster == 1, ][ ,1], m[clus$cluster == 1, ][ ,2],
clus$centers[1, 1], clus$centers[1, 2])
segments(m[clus$cluster == 2, ][ ,1], m[clus$cluster == 2, ][ ,2],
clus$centers[2, 1], clus$centers[2, 2], col = 2)
C. Chesneau
53
Universit de Caen
Classification
Cela renvoie :
C. Chesneau
54
Universit de Caen
Classification
C. Chesneau
55
Universit de Caen
Classification
Cela renvoie :
Prsentation du jeu de donnes iris : Une clbre jeu de donnes tudi par le statisticien Fisher
en 1936 est "les iris de Fisher". Pour 3 varits diris : Setosa, Versicolor, Virginica, et pour 150
iris par varit, on considre 4 caractres quantitatifs :
X1 la longueur en cm dun ptale,
X2 la largeur en cm dun ptale,
X3 la longueur en cm dun spale,
X4 la largeur en cm dun spale.
Ce sont les variables explicatives X1 , X2 , X3 et X4 . La variable expliquer Y est une variable
qualitative dont les modalits sont les espces diris {setosa, versicolor, virginica}.
Voici lentte du jeu de donnes "iris" :
1
2
3
4
5
6
C. Chesneau
Sepal.Length
5.10
4.90
4.70
4.60
5.00
5.40
Sepal.Width
3.50
3.00
3.20
3.10
3.60
3.90
Petal.Length
1.40
1.40
1.30
1.50
1.40
1.70
56
Petal.Width
0.20
0.20
0.20
0.20
0.20
0.40
Species
setosa
setosa
setosa
setosa
setosa
setosa
Universit de Caen
Classification
Quelques commandes R : Un exemple de commandes R utilisant le jeu de donnes iris et lalgorithme des centres mobiles est prsent ci-dessous :
dat = iris [ ,1:4]
library(stats)
clus = kmeans(dat, centers = dat[c(15, 135, 65), ], algorithm = "Lloyd")
library(cluster)
clusplot(dat, clus$cluster, color = T, shade = T, labels = 2, lines = 0)
Dans cet exemple, on a donc considr lalgorithme des centres mobiles avec 3 centres initiaux
qui sont les individus correspondants aux lignes 15, 135 et 65 du jeu de donnes iris.
Le graphique obtenu est :
Mthodes alternatives : Il existe de nombreuses mthodes autres que celle de Lloyd. Il y a notamment :
la mthode de Forgy : les centres initiaux sont tirs au hasard parmi ceux associs aux individus
de .
C. Chesneau
57
Universit de Caen
Classification
clus = kmeans(dat, 3)
Quelques commandes R : Un exemple de commandes R pour utiliser lalgorithme des centres mobiles avec la mthode de Hartigan-Wong :
dat = iris [ ,1:4]
clus = kmeans(dat, 3)
library(cluster)
clusplot(dat, clus$cluster, color = T, shade = T, labels = 2, lines = 0)
Le graphique obtenu est :
C. Chesneau
58
Universit de Caen
Classification
Le rsultat est identique celui obtenu avec la mthode de Lloyd ; cela est un hasard.
Alternatives lalgorithme des centres mobiles : Il existe de nombreuses alternatives lalgorithme des centres mobiles. Il y a notamment :
la mthode PAM (Partition Around Medoids) : cette mthode a la particularit de marcher
aussi avec un tableau des distances et dtre moins sensible que lalgorithme des centres
mobiles aux individus atypiques.
library(cluster)
clus = pam(dat, 3)
plot(clus)
la mthode CLARA (Clustering LARge Application) :
library(cluster)
clus = clara(dat, 3)
plot(clus)
la mthode FANNY :
library(cluster)
clus = fanny(dat, 3)
plot(clus)
C. Chesneau
59
Universit de Caen
11
Classification
Ide : On peut consolider/amliorer les regroupements obtenus via lalgorithme de CAH en utilisant
lalgorithme des centres mobiles. On prend alors pour centres initiaux les parangons obtenus lors
de la CAH. Il est donc possible que des individus changent de groupes.
Quelques commandes R : Un exemple de code R utilisant la librairie FactoMineR et la commande
consol = T est :
library(FactoMineR)
w = read.table("http://www.math.unicaen.fr/~chesneau/zebu.txt", header = T)
w
attach(w)
acp = PCA(w, ncp = 5, graph = F)
res = HCPC(acp, consol = T)
res$data.clust
En fait, la base, on dispose du jeu de donnes zebu avec une classification des individus en deux
groupes. Celle-ci est visible par :
w2 = read.table("http://www.math.unicaen.fr/~chesneau/zebu-g.txt",
header = T)
w2
On constate alors que la classification obtenue avec la CAH consolide est exacte. Ce nest pas
le cas sans consolidation :
res2 = HCPC(acp, consol = F)
res2$data.clust
C. Chesneau
60
Universit de Caen
12
Classification
nk,i
1
=
0
si i possde la modalit k,
sinon.
C. Chesneau
61
Universit de Caen
Classification
Notons que
au,v + bu,v + cu,v + du,v = r.
Indices de similarit usuels : Les indices de similarit les plus utiliss sont les suivants :
Indice de Russel et Rao :
s(u , v ) =
au,v
.
r
Indice de Jaccard :
s(u , v ) =
au,v
au,v
=
.
au,v + bu,v + cu,v
r du,v
Indice de Dice :
s(u , v ) =
2au,v
.
2au,v + bu,v + cu,v
Indice de dAnderberg :
s(u , v ) =
au,v
.
au,v + 2(bu,v + cu,v )
s(u , v ) =
au,v + du,v
.
au,v + du,v + 2(bu,v + cu,v )
Indice de Pearson :
au,v du,v bu,v cu,v
.
s(u , v ) = p
(au,v + bu,v )(au,v + cu,v )(du,v + bu,v )(du,v + cu,v )
Indice de Yule :
s(u , v ) =
Distances partir dun indice de similarit et CAH : partir dun indice de similarit s, on
dfinit une application d : 2 [0, [ par
d (u , v ) = smax s(u , v ),
62
Universit de Caen
Classification
au,v
.
r du,v
X2
X3
C. Chesneau
63
Universit de Caen
Classification
Solution :
1. Le TDC associ est
F
s(1 , 2 ) =
a1,2
2
= 0.5.
=
a1,2 + b1,2 + c1,2
2+1+1
s(3 , 6 ) =
a3,6
1
=
= 0, 2.
a3,6 + b3,6 + c3,6
1+2+2
2. Comme
s(1 , 2 ) > s(3 , 6 ),
1 est plus proche de 2 que 3 de 6 .
On peut aller plus loin en calculant les distances entre tous les individus et faire une CAH.
C. Chesneau
64
Universit de Caen
Classification
Commandes R de lexemple : Les commandes R ci-dessous renvoient les dissimilarits entre tous
les individus avec lindice de Jaccard et lalgorithme de CAH est mis en uvre.
x = c(0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0,
0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1)
m = matrix(x, nrow = 6)
library(arules)
d = dissimilarity(m, method = "jaccard")
d
library(cluster)
ag = agnes(d, method = "ward")
cutree(ag, k = 2)
plot(ag, which = 2, hang = -1)
Cela renvoie le graphique :
C. Chesneau
65
Universit de Caen
Classification
"Distance" du Chi-deux : partir du tableau disjonctif complet, on appelle "distance" du Chideux entre u et v la distance :
v
u r
uX 1
d(u , v ) = t
(fu,k fv,k )2 ,
k
k=1
o
fu,k
nu,k
,
=
nu,
nu, =
r
X
nu,k ,
k=1
n,k
k =
,
n
n,k =
n
X
ni,k .
i=1
On peut aussi utiliser cette "distance" pour mettre en uvre lalgorithme de CAH.
Caractres de natures diffrentes : Si certains caractres sont qualitatifs et dautres quantitatifs,
on peut toujours transformer les caractres qualitatifs en quantitatifs en introduisant des classes
de valeurs et en les considrant comme des modalits.
C. Chesneau
66
Universit de Caen
13
Classification
X1
...
Xp
1
..
.
y1
..
.
x1,1
..
.
...
...
xp,1
..
.
yn
x1,n
...
xp,n
o, pour tout (i, j) {1, . . . , n} {1, . . . , p}, xj,i = Xj (i ) est lobservation du caractre Xj sur
lindividu i et yi = Y (i ) est le groupe dans lequel appartient i .
Objectif : On sintresse un individu de la population avec ses valeurs x = (x1 , . . . , xp ) de
X1 , . . . , Xp , sans connaissance de son groupe dappartenance. Partant des donnes, lobjectif est
de dterminer quel groupe lindividu a le plus chance dappartenir. En terme mathmatique,
ce groupe inconnu est
C. Chesneau
67
Universit de Caen
Classification
C. Chesneau
68
Universit de Caen
14
Classification
Mthode des k plus proches voisins (kNN pour K Nearest Neighbors) : Soient d une distance
et k {1, . . . , n}. En utilisant d, on considre lensemble Uk des k individus de = {1 , . . . , n }
les plus proches de . Ainsi, pour tout i Uk et tout j Uk , on a
d( , i ) < d( , j ).
Par la mthode des k plus proches voisins, une estimation ponctuelle du groupe dans lequel
a le plus de chances dappartenir est
b = Argmax
G
g{G1 ,...,Gq } iU
o I{yi =g}
1
=
0
I{yi =g} ,
Illustration : Une illustration de la mthode des k plus proches voisins avec k = 3 est prsente
ci-dessous :
C. Chesneau
69
Universit de Caen
Classification
C. Chesneau
70
Universit de Caen
Classification
On considre un autre exemple portant sur des mesures du crane associes aux chiens et aux
loups. Lentte du jeu de donnes "loups-g.txt" associ est :
1
2
3
4
5
6
C. Chesneau
LCB
129
154
170
188
161
164
LMS
64
74
87
94
81
90
LPM
95
76
71
73
55
58
LP
17.50
20.00
17.90
19.50
17.10
17.50
71
LM
11.20
14.20
12.30
13.30
12.10
12.70
LAM
13.80
16.50
15.90
14.80
13.00
14.70
RACE
CHIEN
CHIEN
CHIEN
CHIEN
CHIEN
CHIEN
Universit de Caen
Classification
versicolor
50
47
virginica
0
3
47
72
Universit de Caen
Classification
t=
C. Chesneau
3+3
= 0.04.
50 + 47 + 47 + 3 + 3
73
Universit de Caen
15
Classification
f (x, , , r) =
q
X
rk (x, k , k ),
x = (x1 , . . . , xp ) Rp ,
k=1
x Rp .
Par la rgle de Bayes et les hypothses de dpart, on peut exprimer cette probabilit comme
pGk (x) =
rk (x, k , k )
.
f (x, , , r)
Par consquent, une estimation des paramtres , et p laide des donnes donne une estimation
de pGk (x) et, a fortiori, une estimation du groupe dappartenance de .
C. Chesneau
74
Universit de Caen
Classification
pbGk (x) =
bk)
rbk (x,
bk ,
.
b rb)
f (x,
b, ,
Quelques commandes R : Rappel du jeu de donnes iris : pour 3 varits diris : Setosa, Versicolor,
Virginica, et pour 150 iris par varit, on considre 4 caractres quantitatifs :
X1 la longueur en cm dun ptale,
X2 la largeur en cm dun ptale,
X3 la longueur en cm dun spale,
X4 la largeur en cm dun spale.
Ce sont les variables explicatives X1 , X2 , X3 et X4 . La variable expliquer Y est une variable
qualitative dont les modalits sont les espces diris {setosa, versicolor, virginica}.
Voici un problme de classification supervise possible : on dispose dun iris vrifiant :
X1 = 2.1,
X2 = 3,
X3 = 2.3,
X4 = 4.3.
laide des mesures effectues, quelle varit a til le plus de chances dappartenir ?
C. Chesneau
75
Universit de Caen
Classification
Les commandes ci-dessous, dont lda, apportent une rponse en utilisant le modle de mlange
des densits :
data(iris)
library(MASS)
results = lda(Species ~ ., iris, prior = c(1, 1, 1) / 3)
library(MASS)
newiris = data.frame(Sepal.Length = 2.3, Sepal.Width = 4.3,
Petal.Length = 2.1, Petal.Width = 3)
plda = predict(results, newiris)
plda
Cela renvoie Virginica avec une probabilit de 0.9980522. On est donc presque sr que liris
observ est de lespce Virginica.
Validation croise : On peut aussi valuer la qualit du modle de mlange de densits laide dune
validation croise. Cela consiste extraire un petit groupe dindividus du jeu de donnes dont
on connait parfaitement leur groupe daffectation et les tester avec le modle de mlange des
densits. On peut ainsi voir le nombre de fois o lalgorithme se trompe.
Un exemple avec le jeu de donnes iris et la commande lda est prsent ci-dessous :
data(iris)
library(MASS)
results = lda(Species ~ ., iris, prior = c(1, 1, 1) / 3, CV = T)
table(iris$Species, results$class)
Cela renvoie :
setosa versicolor virginica
setosa
50
versicolor
48
virginica
49
C. Chesneau
76
Universit de Caen
Classification
Taux derreur de classification : Partant du modle de mlange de densits, le taux moyen derreur
de classification, not t, est donn par le nombre dindividus mal affects sur le nombre total
dindividus.
Plus t est proche de 0, meilleur est la qualit prdictive du modle.
On convient que la qualit de la classification est mauvaise lorsque t > 0.5.
Exemple : Sur lexemple du jeu de donnes iris, ce taux est :
t=
1+2
= 0.02.
50 + 48 + 49 + 1 + 2
C. Chesneau
77
Universit de Caen
16
Classification
Rgression logistique
y
1y
R,
y ]0, 1[.
exp(y)
]0, 1[,
1 + exp(y)
y R.
logit(p(x)) = 0 + 1 x1 + . . . + p xp ,
C. Chesneau
78
exp(0 + 1 x1 + . . . + p xp )
,
1 + exp(0 + 1 x1 + . . . + p xp )
Universit de Caen
Classification
Estimateurs du maximum de vraisemblance : Notre objectif est destimer les coefficients inconnus 0 , . . . , p partir des donnes. Pour ce faire, on utilise la mthode du maximum de vraisemblance qui donne les estimateurs b0 , . . . , bp .
Dans le cas gnral, il ny a pas dexpression analytique pour b0 , . . . , bp ; ils peuvent tre approchs
avec lalgorithme de Newton-Raphson.
Estimation : Une estimation de p(x) avec x = (x1 , . . . , xp ) est
pb(x) = logit 1 (b0 + b1 x1 + . . . + bp xp ) =
exp(b0 + b1 x1 + . . . + bp xp )
.
1 + exp(b0 + b1 x1 + . . . + bp xp )
b=
G
G1 si pb(x) 0.5,
G2 sinon.
C. Chesneau
X1
2.36
0.71
2.07
1.15
1.10
3.90
79
X2
16.83
47.32
20.97
21.49
40.87
69.52
Universit de Caen
Classification
C. Chesneau
80
Index
hclust, 23
Indice de silhouette, 41
FactoMineR, 44, 47
Inertie inter-classes, 33
HCPC, 44
Inertie intra-classes, 33
agnes, 24, 65
Inertie totale, 32
kmeans, 57
k means, 48
lda, 76
kNN, 69
silhouette, 42
Largeur de silhouette, 42
ACP et CAH, 44
Matrice de donnes, 10
CAH, 22
Mthode de Forgy, 57
Classification non-supervise, 5
Mthode de Hartigan-Wong, 58
Classification supervise, 6, 67
Coefficient dagglomration, 40
Mthode de MacQueen, 58
Consolidation CAH, 60
Dendrogramme, 24
Distance du Chi-deux, 66
Distance entre 2 individus, 16
PAM, 59
Distance euclidienne, 15
Parangons, 46
Distances, 15
Ressemblance, 10
Dcomposition de Huygens, 33
Rgression logistique, 78
Ecart de Ward, 19
Tableau des carts, 19
Ecarts, 17
Tableau disjonctif complet, 61
Indice de Dice, 62
Transformation Logit, 78
81