Vous êtes sur la page 1sur 82

Universit de Caen

ements de classification
El
Christophe Chesneau
http://www.math.unicaen.fr/~chesneau/

Caen, le 12 Avril 2016

Universit de Caen

Classification

Table des matires


1 Prsentation

2 Introduction

2.1

Classification non-supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Classification supervise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3

Les mtiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Enjeux de la classification non-supervise


4 tude de la ressemblance

9
10

4.1

Nuage de points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

4.2

Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

4.3

carts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

5 Algorithme de Classification Ascendante Hirarchique (CAH)

22

5.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

5.2

Description de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

5.3

Dendrogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

5.4

Quelques commandes R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

6 CAH et mthode de Ward ; complments

32

7 Qualit dune partition

40

8 ACP et CAH

44

9 Caractrisation des groupes

46

10 Algorithme des centres mobiles (k means)

48

11 Consolidation de lalgorithme de CAH

60

12 CAH avec des caractres qualitatifs

61

C. Chesneau

Universit de Caen

Classification

13 Enjeux de la classification supervise

67

14 Mthode des k plus proches voisins

69

15 Modle de mlange de densits

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

MIASHS de luniversit de Caen.


Un des objectifs est de donner des pistes de rflexion au regroupement/classification des individus
partir de donnes.
Les mthodes statistiques y sont dcrites de manire concise, avec les commandes R associes.
Nhsitez pas me contacter pour tout commentaire :
christophe.chesneau@gmail.com
Bonne lecture.

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

En comparant les notes par matire, on propose :


Groupe 1 : Boris, Stphanie et Lilly,
Groupe 2 : Mohammad, Jean et Annabelle.
De plus, par exemple, le profil de Jean est plus proche de celui de Lilly, que celui de Stphanie.
Bien entendu, cette analyse intuitive nest pas possible si, par exemple, on a 30 lves classer
par groupes de 3 et on considre 12 matires. Cest pourquoi des mthodes mathmatiques ont
t mises en place.
Applications : Quelques exemples dapplications de la classification non-supervise sont prsents
ci-dessous.
Application 1 : En biologie, on veut regrouper les espces suivant leurs caractristiques et donc
leurs origines communes.
Application 2 : En psychologie, on veut classer les individus selon leur type de personnalits.
Application 3 : En chimie, on veut classer des composs selon leurs proprits.
Application 4 : Dans lindustrie, on veut
analyser des rsultats denqutes,
identifier les clients potentiels dune entreprise,
identifier les clients susceptibles de partir la concurrence,
dterminer des lieux de ventes (pose de distributeurs de billets. . . ),
analyser, identifier les risques (dgts des eaux. . . ),
analyser des donnes textuelles.

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

dun individu de la population avec ses valeurs de X1 , . . . , Xp , sans connaissance de son


groupe dappartenance.
Objectif : Partant des donnes, lobjectif est de dterminer quel groupe lindividu a le plus
chance dappartenir.
Exemple : Dans une classe, un professeur considre deux groupes dlves, G1 et G2, en fonction de
leur comptence. On dispose uniquement des notes et de laffectation de 6 lves :
Maths

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

Dautre part, un tudiant de la classe, Bob, a les rsultats suivants :

Bob

Maths

Physique

Ed Mus

Art Plas

Groupe

15

13

11

inconnu

partir de ses notes, quel groupe Bob a le plus de chances dappartenir ?


Autrement crit, quel est la probabilit que Bob appartienne au groupe G1 sachant quil a obtenu
les notes (Maths, Physique, Ed Mus, Art Plas)= (9, 15, 13, 11) ?
On peut crire cette probabilit comme :

P(Bob G1/(9, 15, 13, 11)).

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

Il y a de nombreux mtiers o la classification est utilise dont


responsable logistique du traitement et de lanalyse des tudes,
charg dtudes junior : prise en charge de la documentation, codage des questionnaires, traitement statistiques simples,
charg dtudes senior, assistant du charg dtude : prise en main dune tude de march,
analyste statisticien, tudes quantitatives, aide la dcision, expert en statistiques,
chef de projet.

C. Chesneau

Universit de Caen

Classification

Enjeux de la classification non-supervise

Contexte : On considre n individus = {1 , . . . , n } extraits au hasard dune population. Pour


chacun dentre eux, on dispose de p valeurs de p caractres X1 , . . . , Xp . Dans un premier temps,
on suppose que les caractres tudis sont quantitatifs.
Les donnes sont donc de la forme :
X1

...

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

Matrice de donnes : On appelle matrice de donnes associes la matrice X dfinie par

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
.

Implicitement, on considre donc 2 caractres X1 et X2 . Par exemple, lindividu 2 a pour


caractristiques X1 = 7.5 et X2 = 4.

C. Chesneau

10

Universit de Caen

Classification

Le nuage de point associ est :

La problmatique est la suivante : comment regrouper ces individus en 2 ou 3 groupes, par


exemple, en fonction de leur position dans R2 ?
Visuellement, en fonction des zones denses, on peut envisager
les 2 groupes suivants :

C. Chesneau

11

Universit de Caen

Classification

les 3 groupes suivants :

Exemple 2 : On considre un tableau de notes de 6 lves :


Maths

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

La matrice de donnes X associe est

19

20
X=

10

2
C. Chesneau

12

17

12

19

18

11 12
12 18

12

17

12

18

Universit de Caen

Classification

La problmatique est la suivante : comment regrouper ces individus en 2 ou 3 groupes, par


exemple, en fonction de leur position dans R4 ?
La reprsentation graphique dans R2 nest donc pas possible.
Une solution est de considrer le plan principal dune analyse en composante principale (ACP),
mthode statistique qui ne sera pas dveloppe ici. Cela donne la reprsentation graphique suivante :

C. Chesneau

13

Universit de Caen

Classification

Visuellement, en fonction des zones denses, on peut envisager


les 2 groupes suivants :

les 3 groupes suivants :

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) d(x, z) + d(z, y).


Exemple 1 : distance euclidienne : Soient m N , x = (x1 , . . . , xm ) Rm et
y = (y1 , . . . , ym ) Rm . On appelle distance euclidienne entre x et y la distance :
v
um
uX
d(x, y) = t (xi yi )2 .
i=1

Exemple 2 : distance de Manhattan : Soient m N , x = (x1 , . . . , xm ) Rm et


y = (y1 , . . . , ym ) Rm . On appelle distance de Manhattan entre x et y la distance :

d(x, y) =

m
X

|xi yi |.

i=1

Exemple 3 : distance de Minkowski : Soient m N , q 1, x = (x1 , . . . , xm ) Rm et


y = (y1 , . . . , ym ) Rm . On appelle distance de Minkowski entre x et y la distance :

d(x, y) =

m
X

!1
q

|xi yi |q

i=1

Exemple 4 : distance de Canberra : Soient m N , x = (x1 , . . . , xm ) Rm et


-y = (y1 , . . . , ym ) Rm . On appelle distance de Canberra entre x et y la distance :

d(x, y) =

m
X
|xi yi |
i=1

C. Chesneau

15

|xi + yi |

Universit de Caen

Classification

Exemple 5 : distance maximum : Soient m N , x = (x1 , . . . , xm ) Rm et


y = (y1 , . . . , ym ) Rm . On appelle distance maximum entre x et y la distance :

d(x, y) =

|xi yi |.

sup
i{1,...,m}

Quelques commandes R : Quelques commandes R associes ces distances sont :


x = c(1, 16, 2, 9, 10, 16, 1)
y = c(14, 9, 9, 12, 4, 3, 13)
z = rbind(x, y)
dist(z, method = "euclidean")
dist(z, method = "manhattan")
dist(z, method = "minkowski", p = 6)
dist(z, method = "maximum")
Dornavant, pour raison de simplicit et de popularit, seule la distance euclidienne sera considre.
Distance entre 2 individus : Pour tout (u, v) {1, . . . , n}2 avec u 6= v, la distance euclidienne
entre les individus u et v est
v
uX
u p
d(u , v ) = t (xj,u xj,v )2 .
j=1

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

Pour tout (u, v) {1, . . . , n}2 avec u 6= v, on a pos

du,v

v
uX
u p
= d(u , v ) = t (xj,u xj,v )2 .
j=1

Exemple : On considre la matrice de donnes X dfinie par

7.5

X=
3

0.5

En prenant 2 chiffres aprs la virgule, on a, par exemple,

d(1 , 2 ) =

(2 7.5)2 + (2 4)2 = 5.85.

En procdant de mme, on obtient le tableau des distances :

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 :

cart complet (complete linkage)/Mthode du voisin le plus loign :

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 :

cart moyen (average linkage)/Mthode de la distance moyenne :

e(A, B) =

1 X X
d(, ),
nA nB
A B

o nA est le nombre dindividus dans le groupe A, et nB le nombre dindividus dans le


groupe B.
C. Chesneau

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 :

cart de Ward : Soit d la distance euclidienne. La mthode de Ward considre lcart :

e(A, B) =

nA nB 2
d (gA , gB ),
nA + nB

o gA est le centre de gravit de A, et gB celui de B. On rappelle que gA est le point


de coordonnes (x1,A , . . . , xp,A ), o, pour tout j {1, . . . , p}, xj,A dsigne la moyenne des
valeurs observes du caractre Xj sur les nA individus du groupe A. De mme pour gB .
Cette mthode prend en compte la fois la dispersion lintrieur dun groupe et la dispersion entre les groupes. Elle est utilise par dfaut dans la plupart des programmes informatiques. Elle fera lobjet dun chapitre venir.
Tableau des carts : Soit e un cart dfini par une des mthodes prcdentes. On appelle tableau
des carts associ aux groupes dindividus (A1 , . . . , An ) le tableau :

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

o, pour tout (u, v) {1, . . . , n}2 avec u 6= v,

eu,v = e(Au , Av ).
C. Chesneau

19

Universit de Caen

Classification

Exemple : On considre la matrice de donnes X dans R2 dfinie par

7.5

X=
3

0.5

On considre la mthode du voisin le plus loign munie de la distance euclidienne.


Le tableau des carts associ ({1 }, . . . , {5 }) est en fait le tableau des distances :

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

Soit A le couple dindividus : A = {1 , 3 }. Par la mme mthode, on obtient

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.

C. Chesneau

20

Universit de Caen

Classification

Le tableau des carts associ ({2 }, {4 }, {5 }, A) est


2

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

Algorithme de Classification Ascendante Hirarchique (CAH)

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

Algorithme CAH : Lalgorithme de CAH est dcrit ci-dessous :


On choisit un cart. On construit le tableau des carts pour la partition initiale des n individus
de :
P0 = ({1 }, . . . , {n }).
Chaque individu constitue un lment.
On parcours le tableau des carts pour identifier le couple dindividus ayant lcart le plus
petit. Le regroupement de ces deux individus forme un groupe A. On a donc une partition
de de n 1 lments : A et les n 2 individus restants.
On calcule le tableau des carts entre les n 1 lments obtenus ltape prcdente et on
regroupe les deux lments ayant lcart le plus petit (cela peut tre deux des n2 individus,
ou un individu des n 2 individus restants avec A). On a donc une partition de de n 2
lments.
On itre la procdure prcdente jusqu ce quil ne reste que deux lments.
C. Chesneau

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

Si on a directement affaire au tableau des distances, la commande est as.dist :


M = matrix(c(0, 23, 15, 22, 30, 26, 20, 23, 0, 26, 25, 16, 25, 33, 15, 26,
0, 28, 37, 28, 20, 22, 25, 28, 0, 22, 7, 28, 30, 16, 37, 22, 0, 20, 22, 26,
25, 28, 7, 20, 0, 18, 20, 33, 20, 28, 22, 18, 0), byrow = T, ncol = 7)
rownames(M) = c("A","B","C","D","E","F","G")
colnames(M) = c("A","B","C","D","E","F","G")
d = as.dist(M)
cah = hclust(d, "single")
cah$merge
Alternativement hclust, on peut utiliser la commande agnes (pour AGglomerative NESting)
qui offre plus de possibilits :
x = matrix(c(1, 16, 2, 9, 10, 16, 1, 17, 15, 2, 1, 37, 0, 14, 9, 9, 12, 4,
3, 13), ncol = 5, nrow = 4)
library(cluster)
ag = agnes(x, method = "average")
ag$merge
Avec agnes, on peut soit travailler directement avec la matrice de donnes (en prcisant
diss = F si la matrice est carre, sinon la commande comprend), soit avec le tableau des distances
(en prcisant diss = T).

5.3

Dendrogramme

Dendrogramme : Les partitions de faites chaque tape de lalgorithme de la CAH peuvent se


visualiser via un arbre appel dendrogramme. Sur un axe apparait les individus regrouper et
sur lautre axe sont indiqus les carts correspondants aux diffrents niveaux de regroupement.
Cela se fait graphiquement par le biais de branches et de nuds.
Une partition naturelle se fait en coupant larbre au niveau du plus grand saut de nuds.

C. Chesneau

24

Universit de Caen

Classification

Exemple : On considre la matrice de donnes X dans R2 dfinie par

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

Le tableau des carts associ P1 est

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

Le tableau des carts associ P2 est


4

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

Le tableau des carts associ P3 est


B

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

Avec la commande hclust :


Dabord, on met les donnes dans une matrice et on trace le nuage de points :
x = c(2, 7.5, 3, 0.5, 6, 2, 4, 3, 5, 4)
m = matrix(x, ncol = 2, nrow = 5)
plot(m)
On calcule les distances euclidiennes :
dist(m)
On met en vre lalgorithme CAH avec la mthode du voisin le plus loign (complete linkage) :
hc = hclust(dist(m), "complete")
On affiche les regroupements :
hc$merge
Cela renvoie :
[,1]

[,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

7.071068, rejoignant ainsi la conclusion de

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

Avec la commande agnes : 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 = "average")
ag$merge
ag$height
cutree(ag, k = 2)
pltree(ag, hang = -1)
clusplot(m, cutree(ag, k = 2), labels = 3)
C. Chesneau

30

Universit de Caen

Classification

On obtient

le dendrogramme :

une reprsentation graphique des regroupements obtenus (utilisant lACP) :

C. Chesneau

31

Universit de Caen

Classification

CAH et mthode de Ward ; complments

Centre de gravit : On appelle centre de gravit du nuage de points N = {m1 , . . . , mn } le point g


de coordonnes (x1 , . . . , xp ), o, pour tout j {1, . . . , p},
n

1X
xj,i .
n

xj =

i=1

Pour raison de simplicit, on dira que g est le centre de gravit associ n = {1 , . . . , n } ; on


ne se ramnera pas toujours au nuage de point associ.
Inertie totale : On appelle inertie totale de N autour de son centre de gravit g le rel :
n

Itot =

1X 2
d (i , g).
n
i=1

On peut remarquer que

Itot =

p
X

s2j ,

s2j =

1X
(xj,i xj )2 .
n
i=1

j=1

Linertie de N est une mesure de lhomognit de N .


Inertie dun sous-nuage de points : Soient h {1, . . . , n} et P = (N` )`{1,...,h} une partition de
N . Ainsi, pour tout ` {1, . . . , h}, N` est un sous-nuage de points de N . On note
n` le nombre dindividus reprsents par N` ,
g` le centre de gravit de N` , donc le point de coordonnes (x1,` , . . . , xp,` ), o, pour tout
j {1, . . . , p}, xj,` dsigne la moyenne des valeurs observes du caractre Xj sur les n` individus
du sous-nuage N` .
Inertie totale : On appelle inertie totale de N` autour de son centre de gravit g` le rel :

I(N` ) =

1 X 2
d (i , g` ).
n`
iN`

C. Chesneau

32

Universit de Caen

Classification

Inertie intra-classes : On appelle inertie intra-classes le rel :

Iintra (P) =

p X
h X
X
1
I(N` ) =
(xj,i xj,` )2 .
n
n

h
X
n`
`=1

j=1 `=1 iN`

Linertie intra-classes mesure lhomognit de lensemble des sous-nuages de la partition.


Inertie inter-classes : On appelle inertie inter-classes le rel :

Iinter (P) =

p X
h X
X
1
(xj,` xj )2 .
d2 (g` , g) =
n
n

h
X
n`
`=1

j=1 `=1 iN`

Linertie inter-classes mesure la sparation entre les sous-nuages de la partition.


Dcomposition de Huygens : Pour toute partition P de N , on a

Itot = Iintra (P) + Iinter (P).

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

Cela ne change rien quant la hirarchie de la classification.

C. Chesneau

34

Universit de Caen

Classification

Exemple : On considre la matrice de donnes X dans R2 dfinie par

7.5

X=
3

0.5

On fait lalgorithme de CAH avec la mthode de Ward.


Le tableau des carts associ P0 = ({1 }, . . . , {5 }) est
1

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

Linertie intra-classes de P1 est

Iintra (P1 ) =

C. Chesneau

35

1
1 = 0.2.
5

Universit de Caen

Classification

Le centre de gravit associ A est le point gA de coordonnes :




2+3 2+3
,
2
2


= (2.5, 2.5).

Le tableau des carts associ P1 est


2

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

Linertie intra-classes de P2 est

Iintra (P2 ) = 0.2 +

1
1.12 = 0.424.
5

Le centre de gravit associ B est le point gB de coordonnes (6.75, 4).

C. Chesneau

36

Universit de Caen

Classification

Le tableau des carts associ P2 est


4

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

Linertie intra-classes de P3 est

Iintra (P3 ) = 0.424 +

1
6.83 = 1.79.
5

Le centre de gravit associ C est le point gC de coordonnes :




2 + 3 + 0.5 2 + 3 + 5
,
3
3


= (1.83, 3.33).

Le tableau des carts associ P3 est


B

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

Il ne reste plus que 2 lments, B et C ; on les regroupe. Cela donne la partition


P4 = {1 , . . . , 5 } = .
Linertie intra-classes de P4 est

Iintra (P4 ) = 1.79 +

1
29.58 = 7.706.
5

Cela termine lalgorithme de CAH.


Un indicateur quaucune erreur na t commise est lgalit : Iintra (P4 ) = Itot . On vrifie
alors cela : on a
I(N ) = 12 + 22 ,
avec

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

hauteurs des branches du dendrogramme : on a 2 1 = 1.41, 2 1.12 = 1.49,

2 6.83 = 3.69 et 2 29.58 = 7.69.

C. Chesneau

39

Universit de Caen

Classification

Qualit dune partition

Coefficient dagglomration : On appelle coefficient dagglomration le rel :



n 
e(i , Ai )
1X
1
,
AC =
n
e(Q, R)
i=1

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

Un exemple de CAH et AC avec la commande agnes est :


w = read.table("http://www.math.unicaen.fr/~chesneau/aliments.txt",
header = T)
w
attach(w)
library(cluster)
ag = agnes(w[ ,-1], method = "average")
ag$ac
plot(ag, which = 2, hang = -1)
C. Chesneau

40

Universit de Caen

Classification

Cela renvoie le coefficient dagglomration AC = 0.9054413 et le dendrogramme :

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

On a alors linterprtation suivante :


Valeur de S

Nature de la structure

]0.51, 1]

Forte

]0.31, 0.50]

Raisonnable

[0, 0.30[

Faible

[1, 0[

Inexistante

On peut galement calculer S pour les individus dun groupe.


Quelques commandes R : Ci-dessous un exemple utilisant les indices de silhouette :
w = read.table("http://www.math.unicaen.fr/~chesneau/aliments.txt",
header = T)
w
attach(w)
d = dist(w[ ,-1], method = "euclidean")
library(cluster)
ag = agnes(d, method = "average")
ag3 = cutree(ag, 3)
si = silhouette(ag3, d)
plot(si, col = c("red", "green", "blue"))

C. Chesneau

42

Universit de Caen

Classification

Cela renvoie le graphique :

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

Caractrisation des groupes

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

On considre alors la p-valeur :


p-valeur = P(|Z| |zobs |),
C. Chesneau

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

On dcrit ci-dessous des exemples de commandes R avec FactoMineR :


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 = F)
On dcide de faire 2 groupes.
Classification :
res$data.clust
Parangons (donns par les premiers noms de chaque liste) :
res$desc.ind
Lindividu 13 est un parangon pour le premier groupe et 3 est un parangon pour le
deuxime.
tude des caractres dominants dans la classification et des caractres dominants dun
groupe :
res$desc.var
On remarque que gras (caractre X3 ), tota (caractre X4 ) et qsup (caractre X5 ) caractrisent le mieux la partition et ce sont les caractres dominants des groupes.

C. Chesneau

47

Universit de Caen

10

Classification

Algorithme des centres mobiles (k means)

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 :

Exemple : Dans une tude industrielle, on a tudi 2 caractres : X1 et X2 , sur 6 individus 1 , . . . , 6 .


Les donnes recueillies sont :
X1

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

Le tableau des distances entre les individus et ces centres est


1

c01

3.16

4.24

4.12

4.12

c02

4.12

5.66

4.47

3.16

Exemple de calcul : d(1 , c01 ) =

p
(2 (1))2 + (2 (1))2 = 3.16.

Do les deux groupes :

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

Do les deux groupes :

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

Le tableau des distances entre les individus et ces centres est


1

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

Do les deux groupes :

A = {1 , 2 , 3 , 5 },

B = {4 , 6 }.

On retrouve la mme classification que ltape prcdente, on arrte lalgorithme.


2. Considrons maintenant les centres initiaux c01 de coordonnes (1, 2) et c02 de coordonnes
(1, 1).
On considre les centres initiaux c01 de coordonnes (1, 2) et c02 de coordonnes (1, 1).
Le tableau des distances entre les individus et ces centres est
1

c01

3.16

3.16

1.41

4.47

c02

3.16

3.60

2.24

1.41

3.60

2.24

Do les deux groupes :

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

Le tableau des distances entre les individus et ces centres est


1

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

Do les deux groupes :

A = {1 , 2 , 5 },

B = {3 , 4 , 6 }.

On retrouve la mme classification que ltape prcdente, on arrte lalgorithme.


Remarque : On obtient deux classifications diffrentes suivant les choix des centres initiaux.
Commandes R de lexemple :
Pour le 1., les commandes R associes sont :
x = c(-2, -2, 0, 2, -2, 3, 2, -1, -1, 2, 3, 0)
m = matrix(x, ncol = 2, nrow = 6)
clus = kmeans(m, centers=rbind(c(-1, -1), c(2, 3)), algorithm = "Lloyd")
clus$cluster
clus$centers
plot(m, col = clus$cluster, pch = 1, lwd = 3, xlab = "X1", ylab = "X2")
points(clus$centers, col = 1:2, pch = 9, lwd = 3)

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 :

On peut aussi utiliser clusplot pour la visualisation des groupes :


library(cluster)
clusplot(m, clus$cluster, color = T, shade = T, labels = 2, lines = 0)
Cela renvoie :

C. Chesneau

54

Universit de Caen

Classification

Pour le 2., les commandes R associes sont :


x = c(-2, -2, 0, 2, -2, 3, 2, -1, -1, 2, 3, 0)
m = matrix(x, ncol = 2, nrow = 6)
clus = kmeans(m, centers=rbind(c(-1, 2), c(1, 1)), algorithm = "Lloyd")
clus$cluster
clus$centers
plot(m, col = clus$cluster, pch = 1, lwd = 3, xlab = "X1", ylab = "X2")
points(clus$centers, col = 1:2, pch = 9, lwd = 3)
Cela renvoie le graphique :

On peut aussi utiliser clusplot pour la visualisation des groupes :


library(cluster)
clusplot(m, clus$cluster, color = T, shade = T, labels = 2, lines = 0)

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, algorithm = Forgy)


la mthode de MacQueen : les centres sont recalculs chaque raffectation dun seul individu.

clus = kmeans(dat, 3, algorithm = MacQueen)


la mthode de Hartigan-Wong : cest la mthode par dfaut de la commande kmeans. Elle est
considre comme la plus robuste de toutes.

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

Consolidation de lalgorithme de CAH

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

CAH avec des caractres qualitatifs

Indice de similarit : Soit = {1 , . . . , n }. On appelle indice de similarit toute application


s : 2 [0, [ telle que, pour tous individus et dans , on a
s(, ) = s( , ),
s(, ) s(, ),
on a s(, ) = s(, ) si, et seulement si, = .
Rgle centrale : Plus lindice de similarit entre deux individus est lev, plus ils se ressemblent.
Cas des caractres quantitatifs : Quand les caractres X1 , . . . , Xp sont quantitatifs, on peut choisir comme indice de similarit la fonction s telle que

s(, ) = dmax d(, ),

o d dsigne une distance et dmax = max 2 d(, ).


Tableau disjonctif complet : Dans le cas o les caractres X1 , . . . , Xp sont qualitatifs, on peut
prsenter les donnes sous la forme dun tableau disjonctif complet (TDC) de dimension n r,
o r est le nombre total de modalits des p caractres considrs. Pour tout i {1, . . . , n}, la
i-me ligne du tableau est constitue du vecteur (n1,i , . . . , nk,i , . . . nr,i ), avec

nk,i

1
=
0

si i possde la modalit k,
sinon.

Valeurs intermdiaires : Pour tout (u, v) {1, . . . , n}2 , on pose


le nombre de (1, 1) aux (u, v)-me lignes du TDC,
le nombre de (1, 0) aux (u, v)-me lignes du TDC,
le nombre de (0, 1) aux (u, v)-me lignes du TDC,
le nombre de (0, 0) aux (u, v)-me lignes du TDC.

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 )

Indice de Rogers et Tanimoto :

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

au,v du,v bu,v cu,v


.
au,v du,v + bu,v cu,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 ),

o smax = s(u , u ) (= s(v , v )).


C. Chesneau

62

Universit de Caen

Classification

Cette application est appele dissimilarit.


On peut alors faire de la CAH avec cette dissimilarit d au lieu de d et lcart de son choix.
Sur lindice de Jaccard : Si s est lindice de Jaccard, alors smax = 1 et on peut prendre la dissimilarit :
d (u , v ) = 1 s(u , v ) = 1

au,v
.
r du,v

Quelques commandes R : Ci-dessous, des exemples de commandes R illustrant plusieurs dissimilarits :


m = matrix(sample(c(0, 1), 100, replace = T), ncol = 10)
m
library(arules)
d = dissimilarity(m, method = "jaccard")
d
d = dissimilarity(m, method = "pearson")
d
Exemple : On interroge 6 individus en leur demandant leur sexe X1 (F : femme, H : homme), leur
type de logement X2 (R : rural, U : urbain) et leur tat civil X3 (C : clibataire, M : mari,
A : autre). On obtient :
X1

X2

X3

1. En considrant lindice de Jaccard, calculer s(1 , 2 ) et s(3 , 6 ).


2. Est-ce que 1 est plus proche de 2 , que 3 de 6 ?

C. Chesneau

63

Universit de Caen

Classification

Solution :
1. Le TDC associ est
F

On a a1,2 = 2, b1,2 = 1 et c1,2 = 1 (et d1,2 = 3). Donc

s(1 , 2 ) =

a1,2
2
= 0.5.
=
a1,2 + b1,2 + c1,2
2+1+1

On a a3,6 = 1, b3,6 = 2 et c3,6 = 2 (et d3,6 = 2). Donc

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

Enjeux de la classification supervise

Contexte : On considre une population divise en q groupes dindividus diffrents {G1 , . . . , Gq }.


Ces groupes sont distinguables suivant les valeurs de p caractres X1 , . . . , Xp , sans que lon ait
connaissance des valeurs de X1 , . . . , Xp les distinguant. Soit Y le caractre gal au groupe dans
lequel appartient un individu extrait au hasard dans la population. On dispose de n individus
avec, pour chacun dentre eux, les valeurs de Y, X1 , . . . , Xp .
Les donnes sont donc de la forme :
Y

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

G = Argmax P ({Y = g}/{(X1 , . . . , Xp ) = x}) .


g{G1 ,...,Gq }

Mthodes : Pour estimer G, plusieurs mthodes sont possibles. Parmi elles, il y a


la mthode des k plus proches voisins (kNN pour K Nearest Neighbors),
le modle de mlange de densits,
le modle de rgression logistique (pour q = 2),
les arbres de dcision,
les rseaux de neurone,

C. Chesneau

67

Universit de Caen

Classification

le Support Vector Machine,


les forts alatoires.
Ce document aborde quelques aspects des trois premiers points.

C. Chesneau

68

Universit de Caen

14

Classification

Mthode des k plus proches voisins

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} ,

si yi = g (cest--dire i appartient au groupe g),


sinon.

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

Quelques commandes R : Un exemple simple de commandes R est dcrit ci-dessous.


On introduits 3 individus A1, A2 et A3 qui vont former un groupe A :
A1 = c(0.1, 0.4)
A2 = c(0.8, 0.9)
A3 = c(3, 3.5)
On introduits 3 individus B1, B2 et B3 qui vont former un groupe B :
B1 = c(5.7, 6.1)
B2 = c(5.5, 6.8)
B3 = c(6.5, 4.9)
On considre la matrice de donnes correspondante et on spcifie lappartenance des individus
aux groupes A et B :
train = rbind(A1, A2, A3, B1, B2, B3)
cl = factor(c(rep("A", 3), rep("B", 3)))
On sintresse un nouvel individu de caractristiques X1 = 4.1 et X2 = 3.8 et on trace le
nuage de points :
point = c(4.1, 3.8)
plot(rbind(train, point))
On value le groupe dans lequel a le plus de chance dappartenir avec la mthode des k plus
proche voisins avec k = 1 :
library(class)
knn(train, point, cl, k = 1)
Cela renvoie A.
On fait la mme chose avec k = 3 :
knn(train, point, cl, k = 3)
Cela renvoie B.

C. Chesneau

70

Universit de Caen

Classification

On se rend compte de ce qui se passe par un graphique :

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

On propose les commandes R suivantes :


w = read.table("http://www.math.unicaen.fr/~chesneau/loups-g.txt",
header = T)
attach(w)
w
cl = factor(w[ ,7])
point = c(210, 200, 76, 22, 12, 15)
library(class)
knn(w[ ,1:6], point, cl, k = 3)
Cela renvoie CHIEN. Ainsi, lindividu de caractristiques X1 = 210, X2 = 200, X3 = 76,
X4 = 22, X5 = 12 et X6 = 15 appartient au groupe des chiens.
kNN avec validation croise : On peut aussi valuer la qualit de lalgorithme des k plus proches
voisins laide dune validation croise. Cela consiste extraire un petit groupe dindividus du
jeu de donnes dont on connait parfaitement leur groupe daffectation et de faire lalgorithme
des k plus proches voisins sur ceux-ci. On peut ainsi voir le nombre de fois o lalgorithme se
trompe.
Un exemple avec le jeu de donnes iris est prsent ci-dessous :
data(iris)
u = iris[ ,-5]
library(class)
class = as.factor(iris[ ,5])
results = knn.cv(u, class, 1:length(class))
levels(results) = levels(class)
table(results, class)
Cela renvoie :
setosa
setosa
versicolor
virginica
C. Chesneau

versicolor
50

47

virginica
0
3
47
72

Universit de Caen

Classification

On voit alors quil y a eut 6 iris qui ont t mal affects.


Taux derreur de classification : Partant de lalgorithme des k plus proches voisins avec validation
croise, 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 bon :

t=

C. Chesneau

3+3
= 0.04.
50 + 47 + 47 + 3 + 3

73

Universit de Caen

15

Classification

Modle de mlange de densits

Hypothses de gaussianit : On adopte le contexte de la classification supervise. Le modle de


mlange de densits (gaussiennes) repose sur lhypothse que (X1 , . . . , Xp ) est un vecteur alatoire
rel de densit :

f (x, , , r) =

q
X

rk (x, k , k ),

x = (x1 , . . . , xp ) Rp ,

k=1

rk = P(Y = Gk ), r = (r1 , . . . , rq ), = (1 , . . . , p ) Rp , = (1 , . . . , p ) est un vecteur


de matrices de covariances de dimension p p et (x, k , k ) est la densit associe la loi
Np (k , k ) :


1
1
t 1
p
(x, k , k ) =
exp (x k ) k (x k ) ,
2
(2)p/2 det(k )

x Rp .

Les paramtres , et p sont inconnus.


Enjeu : Partant des donnes, on souhaite estimer la probabilit inconnue quun individu vrifiant
(X1 , . . . , Xp ) = x appartienne au groupe Gk :

pGk (x) = P({Y = Gk }/{(X1 , . . . , Xp ) = x}).

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

Estimateurs du maximum de vraisemblance : Pour estimer les paramtres , et r partir des


b et
donnes, on utilise la mthode du maximum de vraisemblance qui donne les estimateurs
b,
rb.
b et rb ; ils peuvent tre approDans le cas gnral, il ny a pas dexpression analytique pour
b,
chs avec lalgorithme de Newton-Raphson ou lalgorithme EM (Expectation-Maximization) (ou
mieux : lalgorithme Classification EM ou lalgorithme Stochastique EM).
Estimation : Une estimation de pGk (x) avec x = (x1 , . . . , xp ) est

pbGk (x) =

bk)
rbk (x,
bk ,
.
b rb)
f (x,
b, ,

Prdiction du groupe : On appelle prdiction du groupe dun individu vrifiant


(X1 , . . . , Xp ) = x la ralisation de

b = Argmax pbg (x).


G
g{G1 ,...,Gq }

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

On voit alors quil y a eut 3 iris qui ont t mal affects.

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

Cela est trs correct.

C. Chesneau

77

Universit de Caen

16

Classification

Rgression logistique

Enjeu : On suppose que la population est divise en q = 2 groupes : G1 et G2 et on adopte le contexte


de la classification supervise. Partant des donnes, on souhaite estimer la probabilit inconnue
quun individu vrifiant (X1 , . . . , Xp ) = x appartienne au groupe G1 :

p(x) = P({Y = G1 }|{(X1 , . . . , Xp ) = x}).

Si p(x) 0.5, alors a plus de chances dappartenir G1 qu G2 .


Transformation logit : On appelle transformation logit la fonction :

logit(y) = log

y
1y


R,

y ]0, 1[.

Son inverse est la fonction :


logit 1 (y) =

exp(y)
]0, 1[,
1 + exp(y)

y R.

Rgression logistique : On appelle rgression logistique la modlisation :

logit(p(x)) = 0 + 1 x1 + . . . + p xp ,

o 0 , . . . , p dsigne p + 1 rels inconnus.


Ainsi, p(x) et 0 + 1 x1 + . . . + p xp sont lis par la transformation logit ; on parle de lien logit.
On en dduit lexpression de p(x) :
p(x) = logit 1 (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 )

Prdiction du groupe : On appelle prdiction du groupe dun individu vrifiant


(X1 , . . . , Xp ) = x la ralisation de

b=
G

G1 si pb(x) 0.5,

G2 sinon.

Quelques commandes R : On considre le jeu de donnes "puits" dont voici lentte :


Y
1
1
0
1
1
1

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

Un exemple de commandes R associes est donn ci-dessous :


w = read.table("http://www.math.unicaen.fr/~chesneau/puits.txt", header = T)
attach(w)
w
library(stats)
reg = glm(Y ~ X1 + X2, family = binomial)
pred.prob = predict.glm(reg, data.frame(X1 = 1, X2 = 60), type = "response")
pred.mod = factor(ifelse(pred.prob > 0.5, "G1", "G2"))
pred.mod
Cela renvoie G2.
Taux derreur de classification : Partant du modle de rgression logistique, 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.
Quelques commandes R : Un exemple de commandes R associes est donn ci-dessous :
pred.prob = predict(reg, type = "response")
pred.mod = factor(ifelse(pred.prob > 0.5, "G1", "G2"))
mc = table(Y, pred.mod)
t = (mc[1, 2] + mc[2, 1]) / sum(mc)
t
Cela renvoie t = 0.1364238, ce qui est trs faible.
Plus dlments seront donns en Master 2. Voir, par exemple, les documents :
http://www.math.unicaen.fr/~chesneau/Reg-M2.pdf
http://www.math.unicaen.fr/~chesneau/etudes-reg.pdf

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

Modle de mlange de densits, 74

CAH caractres qualitatifs, 61

Mthode de Forgy, 57

Classification non-supervise, 5

Mthode de Hartigan-Wong, 58

Classification supervise, 6, 67

Mthode de la distance moyenne, 18

Coefficient dagglomration, 40

Mthode de MacQueen, 58

Consolidation CAH, 60

Mthode de Ward, 19, 32


Mthode du plus proche voisin, 18

Dendrogramme, 24

Mthode du voisin le plus loign, 18

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

Taux derreur de classification, 73, 77, 80

Indice de Jaccard, 62, 63

Transformation Logit, 78

81