Classif Cours
Classif Cours
Classif Cours
Éléments de classification
Christophe Chesneau
http://www.math.unicaen.fr/~chesneau/
1 Introduction 5
1.1 Classification non-supervisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Classification supervisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Les métiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Étude de la ressemblance 11
3.1 Nuage de points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Écarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7 ACP et CAH 45
C. Chesneau 3
TABLE DES MATIÈRES
15 Régression logistique 81
Index 85
∼ Note ∼
Ce document résume les notions abordées dans le cours Éléments de classification du Master
1 MIASHS de l’université de Caen.
Un des objectifs est de donner des pistes de réflexion au regroupement/classification des
individus à partir de données.
Les méthodes statistiques y sont décrites de manière concise, avec les commandes R associées.
N’hésitez pas à me contacter pour tout commentaire :
Bonne lecture !
C. Chesneau 4
1 INTRODUCTION
1 Introduction
Contexte : On considère n individus extraits au hasard d’une population. Pour chacun d’entre eux,
on dispose de p valeurs de p caractères X1 , . . . , Xp .
Objectif : Partant des données, l’objectif est de regrouper/classer les individus qui se ressemblent le
plus/qui ont des caractéristiques semblables.
Ce regroupement peut avoir des buts divers : tenter de séparer des individus appartenant à
des sous-populations distinctes, décrire les données en procédant à une réduction du nombre
d’individus pour communiquer, simplifier, exposer les résultats. . .
Exemple : Dans une classe, un professeur souhaite faire des binômes constitués d’élèves ayant des
compétences semblables. Parmi ceux-ci, 6 élèves ont obtenu les notes suivantes :
Boris 20 20 0 0
Mohammad 8 8 12 12
Stéphanie 20 20 0 0
Jean 0 0 20 20
Lilly 10 10 10 10
Annabelle 2 2 18 18
Tous les élèves ont une moyenne de 10/20 mais, vu les notes,
◦ Boris et Stéphanie ont un profil similaire,
◦ Mohammad et Lilly ont un profil similaire,
◦ Jean et Annabelle ont un profil similaire.
Finalement, le professeur décide de faire 2 groupes cohérents de 3 élèves avec ces 6 élèves. Lesquels
proposez-vous ?
C. Chesneau 5
1 INTRODUCTION
De plus, par exemple, le profil de Jean est plus proche de celui de Lilly, que celui de Stéphanie.
Bien entendu, cette analyse intuitive n’est pas possible si, par exemple, on a 30 élèves à classer
par groupes de 3 et on considère 12 matières. C’est pourquoi des méthodes mathématiques ont
été mises en place.
◦ Application 1 : En biologie, on veut regrouper les espèces suivant leurs caractéristiques et donc
leurs origines communes.
◦ Application 2 : En psychologie, on veut classer les individus selon leur type de personnalités.
Contexte : On considère une population divisée en q groupes d’individus différents. Ces groupes sont
distinguables suivant les valeurs de p caractères X1 , . . . , Xp , sans que l’on ait connaissance des
valeurs de X1 , . . . , Xp les caractérisant. On dispose
◦ de n individus avec, pour chacun d’entre eux, les valeurs de X1 , . . . , Xp et son groupe d’appar-
tenance,
C. Chesneau 6
1 INTRODUCTION
Objectif : Partant des données, l’objectif est de déterminer à quel groupe l’individu ω∗ a le plus
chance d’appartenir.
Exemple : Dans une classe, un professeur considère deux groupes d’élèves, G1 et G2, en fonction de
leur compétence. On dispose uniquement des notes et de l’affectation de 6 élèves :
Maths Physique Ed Mus Art Plas Groupe
Boris 20 20 0 0 G1
Mohammad 8 8 12 12 G2
Stéphanie 20 20 0 0 G1
Jean 0 0 20 20 G2
Lilly 10 10 10 10 G1
Annabelle 2 2 18 18 G2
D’autre part, un étudiant de la classe, Bob, a les résultats suivants :
Maths Physique Ed Mus Art Plas Groupe
Bob 9 15 13 11 inconnu
À partir de ses notes, à quel groupe Bob a le plus de chances d’appartenir ?
Autrement écrit, quel est la probabilité que Bob appartienne au groupe G1 sachant qu’il a obtenu
les notes (Maths, Physique, Ed Mus, Art Plas)= (9, 15, 13, 11) ?
La réponse n’est pas immédiate ; c’est pourquoi des méthodes mathématiques ont été mises en
place.
◦ Application 1 : Un archéologue cherche à déterminer si des restes humains sont ceux d’un
homme ou d’une femme.
C. Chesneau 7
1 INTRODUCTION
◦ Application 2 : Dans une banque, une commission de crédit doit décider, à partir de paramètres
financiers, si on accorde ou non un prêt à un particulier.
C. Chesneau 8
2 ENJEUX DE LA CLASSIFICATION NON-SUPERVISÉE
X1 ... Xp
Objectif : Partant des données, l’objectif est de regrouper/classer les individus qui se ressemblent le
plus/qui ont des caractéristiques semblables.
Méthodes : Pour atteindre l’objectif, plusieurs méthodes sont possibles. Parmi elles, il y a
◦ l’algorithme de Classification Ascendante Hiérarchique (CAH),
◦ l’algorithme des centres mobiles,
◦ l’algorithme de Classification Descendante Hiérarchique (CDH),
◦ la méthode des nuées dynamiques (partitionnement autour d’un noyau),
◦ la méthode de classification floue,
◦ la méthode de classification par voisinage dense.
Ce document aborde quelques aspects des deux premiers points.
C. Chesneau 9
3 ÉTUDE DE LA RESSEMBLANCE
3 Étude de la ressemblance
Nuage de points : Pour tout i ∈ {1, . . . , n}, l’individu ωi peut être représenté dans Rp par un point
mi de coordonnées (x1,i , . . . , xp,i ). On appelle nuage de points la représentation graphique de
l’ensemble de ces points. Il est noté N = {m1 , . . . , mn }.
Ressemblance : On dira que des individus se ressemblent si les points associés sont proches les uns
des autres/si les distance qui les séparent sont petites.
Ainsi, on souhaite rechercher dans N les zones denses pouvant correspondre à des groupes d’in-
dividus qu’il s’agira d’interpréter par la suite.
C. Chesneau 11
3 ÉTUDE DE LA RESSEMBLANCE
C. Chesneau 12
3 ÉTUDE DE LA RESSEMBLANCE
Boris 19 17 2 8
Mohammad 7 8 12 12
Stéphanie 20 19 9 9
Jean 1 6 18 17
Lilly 10 11 12 12
Annabelle 2 12 18 18
C. Chesneau 13
3 ÉTUDE DE LA RESSEMBLANCE
Une solution est de considérer le plan principal d’une analyse en composante principale (ACP),
méthode statistique qui ne sera pas développée ici. Cela donne la représentation graphique sui-
vante :
C. Chesneau 14
3 ÉTUDE DE LA RESSEMBLANCE
C. Chesneau 15
3 ÉTUDE DE LA RESSEMBLANCE
3.2 Distances
Distances : On peut donc aborder le problème 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
v
um
uX
d(x, y) = t (xi − yi )2 .
i=1
m
X
d(x, y) = |xi − yi |.
i=1
m
!1
X q
d(x, y) = |xi − yi |q .
i=1
m
X |xi − yi |
d(x, y) = .
|xi + yi |
i=1
C. Chesneau 16
3 ÉTUDE DE LA RESSEMBLANCE
Dorénavant, pour raison de simplicité et de popularité, seule la distance euclidienne sera consi-
dérée.
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
u p
uX
d(ωu , ωv ) = t (xj,u − xj,v )2 .
j=1
Tableau des distances : Soit d une distance. On appelle tableau des distances associées aux indivi-
dus (ω1 , . . . , ωn ) le tableau :
ω1 ω2 ... ωn−1 ωn
C. Chesneau 17
3 ÉTUDE DE LA RESSEMBLANCE
v
u p
uX
du,v = d(ωu , ωv ) = t (xj,u − xj,v )2 .
j=1
2 2
7.5 4
X=
3 3
0.5 5
6 4
p
d(ω1 , ω2 ) = (2 − 7.5)2 + (2 − 4)2 = 5.85.
ω1 ω2 ω3 ω4 ω5
3.3 Écarts
Écarts : Soit P(Γ) l’ensemble des parties de Γ. On appelle écart toute application e : P(Γ)2 → [0, ∞[
définie à partir d’une distance et évaluant la ressemblance entre deux groupes d’individus.
Règle centrale : Plus l’écart entre deux éléments est petit, plus ils se ressemblent.
C. Chesneau 18
3 ÉTUDE DE LA RESSEMBLANCE
Écarts usuels : Parmi les écarts usuels entre deux groupes A et B/méthodes usuelles mesurant la
ressemblance entre deux groupes A et B, il y a :
L’écart entre deux groupes A et B est caractérisé par la distance la plus faible entre un
point de A et un point de B :
L’écart entre deux groupes A et B est caractérisé par la distance la plus forte entre un point
de A et un point de B :
1 X X
e(A, B) = d(ω, ω∗ ),
nA nB
ω∈A ω∗ ∈B
C. Chesneau 19
3 ÉTUDE DE LA RESSEMBLANCE
L’écart entre deux groupes A et B est caractérisé par la distance moyenne entre les points
de A et B :
nA nB 2
e(A, B) = d (gA , gB ),
nA + nB
Cette méthode prend en compte à la fois la dispersion à l’intérieur d’un groupe et la dis-
persion entre les groupes. Elle est utilisée par défaut dans la plupart des programmes infor-
matiques. Elle fera l’objet d’un chapitre à venir.
Tableau des écarts : Soit e un écart défini par une des méthodes précédentes. On appelle tableau
des écarts associé aux groupes d’individus (A1 , . . . , An ) le tableau :
A1 A2 ... An−1 An
eu,v = e(Au , Av ).
C. Chesneau 20
3 ÉTUDE DE LA RESSEMBLANCE
2 2
7.5 4
X=
3 3
0.5 5
6 4
Le tableau des écarts associé à ({ω1 }, . . . , {ω5 }) est en fait le tableau des distances :
ω1 ω2 ω3 ω4 ω5
et
e(ω5 , A) = max(e(ω5 , ω1 ), e(ω5 , ω3 )) = max(4.47, 3.16) = 4.47.
C. Chesneau 21
3 ÉTUDE DE LA RESSEMBLANCE
ω2 ω4 ω5 A
C. Chesneau 22
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
4.1 Introduction
CAH : L’idée de l’algorithme de Classification Ascendante Hiérarchique (CAH) est de créer, à chaque
étape, une partition de Γ = {ω1 , . . . , ωn } en regroupant les deux éléments les plus proches. Le
terme "élément" désigne aussi bien un individu qu’un groupe d’individus.
Objectif : On veut
◦ mettre en relief les liens hiérarchiques entre les individus ou groupe d’individus,
◦ détecter les groupes d’individus qui se démarquent le plus.
• On choisit un écart. On construit le tableau des écarts pour la partition initiale des n individus
de Γ :
P0 = ({ω1 }, . . . , {ωn }).
• On parcours le tableau des écarts pour identifier le couple d’individus ayant l’écart le plus
petit. Le regroupement de ces deux individus forme un groupe A. On a donc une partition
de Γ de n − 1 éléments : A et les n − 2 individus restants.
• On calcule le tableau des écarts entre les n − 1 éléments obtenus à l’étape précédente et on
regroupe les deux éléments ayant l’écart le plus petit (cela peut être deux des n−2 individus,
ou un individu des n − 2 individus restants avec A). On a donc une partition de Γ de n − 2
éléments.
C. Chesneau 23
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
• On regroupe les deux éléments restants. Il ne reste alors qu’un seul élément contenant tous les
individus de Γ.
Quelques commandes R : hclust et agnes : On peut aussi utiliser la commande hclust (pour Hie-
rarchical CLUSTering) :
C. Chesneau 24
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
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
Avec agnes, on peut soit travailler directement avec la matrice de données (en précisant
diss = F si la matrice est carrée, sinon la commande comprend), soit avec le tableau des distances
(en précisant diss = T).
4.3 Dendrogramme
Une partition naturelle se fait en coupant l’arbre au niveau du plus grand saut de nœuds.
C. Chesneau 25
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
2 2
7.5 4
X=
3 3
0.5 5
6 4
On va regrouper les individus avec l’algorithme CAH et la méthode du voisin le plus éloigné
munie de la distance euclidienne.
◦ Le tableau des écarts associé à P0 = ({ω1 }, . . . , {ω5 }) est
ω1 ω2 ω3 ω4 ω5
Les éléments (individus) ω1 et ω3 ont l’écart le plus petit : ce sont les éléments les plus proches.
On les rassemble pour former le groupe : A = {ω1 , ω3 }. On a une nouvelle partition de Γ :
ω2 ω4 ω5 A
C. Chesneau 26
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
On a
e(ω2 , A) = max(e(ω2 , ω1 ), e(ω2 , ω3 )) = max(5.85, 4.60) = 5.85,
et
e(ω5 , A) = max(e(ω5 , ω1 ), e(ω5 , ω3 )) = max(4.47, 3.16) = 4.47.
Les éléments (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).
ω4 A B
ω4 0 3.35 7.07
A 3.35 0 5.85
B 7.07 5.85 0
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 éléments ω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 27
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
B C
B 0 7.07
C 7.07 0
On a
e(C, B) = max(e(ω4 , B), e(A, B)) = max(7.07, 5.85) = 7.07.
C. Chesneau 28
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
Comme le plus grand saut se situe entre les éléments B et C (on a 7.07−3.35 = 3.72), on propose
les deux groupes : B et C.
◦ D’abord, on met les données dans une matrice et on trace le nuage de points :
dist(m)
◦ On met en œvre l’algorithme CAH avec la méthode du voisin le plus éloigné (complete linkage) :
hc = hclust(dist(m), "complete")
hc$merge
Cela renvoie :
[,1] [,2]
[1,] -1 -3
[2,] -2 -5
[3,] -4 1
[4,] 2 3
C. Chesneau 29
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
Ainsi, à la première étape, les individus ω1 et ω3 ont été regroupés, formant ainsi le groupe 1, à
la deuxième étape, ω2 et ω5 ont été regroupés, formant ainsi le groupe 2, à la troisième étape ω4
et le groupe 1, ont été regroupés, formant ainsi le groupe 3, et pour finir, les groupes 2 et 3 ont
été regroupés.
hc$height
◦ 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)
rect.hclust(hc, 2)
C. Chesneau 30
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
C. Chesneau 31
4 ALGORITHME DE CLASSIFICATION ASCENDANTE HIÉRARCHIQUE (CAH)
On obtient
◦ le dendrogramme :
C. Chesneau 32
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
n
1X
xj = xj,i .
n
i=1
Pour raison de simplicité, on dira que g est le centre de gravité associé à Γn = {ω1 , . . . , ωn } ; on
ne se ramènera pas toujours au nuage de point associé.
Inertie totale : On appelle inertie totale de N autour de son centre de gravité g le réel :
n
1X 2
Itot = d (ωi , g).
n
i=1
p n
X 1X
Itot = s2j , s2j = (xj,i − xj )2 .
n
j=1 i=1
Inertie d’un 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 d’individus représentés par N` ,
◦ g` le centre de gravité de N` , donc le point de coordonnées (x1,` , . . . , xp,` ), où, pour tout
j ∈ {1, . . . , p}, xj,` désigne la moyenne des valeurs observées du caractère 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 réel :
1 X 2
I(N` ) = d (ωi , g` ).
n`
i∈N`
C. Chesneau 33
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
On constate que minimiser l’inertie intra-classes est équivalent à maximiser l’inertie inter-classes.
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 représentent les distances entre les points et les centres de gravité.
C. Chesneau 34
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
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 résultat est une conséquence
du théorème de Pythagore.
Sur l’écart de Ward : L’utilisation de l’algorithme de CAH avec la méthode de Ward est justifiée
par le résultat suivant :
nA gA + nB gB
gA∪B = .
nA + nB
La perte d’inertie inter-classes lors du regroupement de A et B est égale à 1/n multiplié par
nA nB 2
nA d2 (gA , g) + nB d2 (gB , g) − (nA + nB )d2 (gA∪B , g) = d (gA , gB ).
nA + nB
On reconnait alors l’écart de Ward qui est donc une mesure de la perte d’inertie inter-classes lors
du regroupement de A et B. Ainsi, à chaque étape de l’algorithme de CAH, on veut regrouper
des éléments dont le regroupement provoque une perte minimale de l’inertie inter-classes.
Dendrogramme associé à l’écart de Ward : Pour la hauteur des branches, on peut soit prendre
les écarts, soit prendre les inerties intra-classe correspondants aux différents niveaux de regrou-
pement.
Commande agnes et écart de Ward : La commande agnes avec method = "ward" considère un
écart défini comme une transformation de l’écart de Ward original :
√
r
nA nB 2
e(A, B) = 2 d (gA , gB ) = 2 × écart de Ward.
nA + nB
C. Chesneau 35
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
2 2
7.5 4
X=
3 3
0.5 5
6 4
ω1 ω2 ω3 ω4 ω5
ω1 0 17.12 1 5.62 10
ω3 1 10.62 0 5.12 5
ω5 10 1.12 5 15.62 0
Par exemple, on a
1×1
(2 − 7.5)2 + (2 − 4)2 = 17.12.
e(ω1 , ω2 ) =
1+1
Les éléments (individus) ω1 et ω3 ont l’écart le plus petit : ce sont les éléments les plus proches.
On les rassemble pour former le groupe : A = {ω1 , ω3 }. On a une nouvelle partition de Γ :
1
Iintra (P1 ) = × 1 = 0.2.
5
C. Chesneau 36
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
2+3 2+3
, = (2.5, 2.5).
2 2
ω2 ω4 ω5 A
ω2 0 25 1.12 18.16
ω4 25 0 15.62 6.83
Par exemple, on a
1×2
(7.5 − 2.5)2 + (4 − 2.5)2 = 18.16.
e(ω2 , A) =
1+2
Les éléments (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
Iintra (P2 ) = 0.2 + × 1.12 = 0.424.
5
C. Chesneau 37
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
ω4 A B
ω4 0 6.83 26.7
A 6.83 0 20.31
B 26.7 20.31 0
On a, par exemple,
2×2
(6.75 − 2.5)2 + (4 − 2.5)2 = 20.31.
e(B, A) =
2+2
Les éléments ω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
Iintra (P3 ) = 0.424 + × 6.83 = 1.79.
5
2 + 3 + 0.5 2 + 3 + 5
, = (1.83, 3.33).
3 3
B C
B 0 29.58
C 29.58 0
On a
2×3
(6.75 − 1.83)2 + (4 − 3.33)2 = 29.58.
e(B, C) =
2+3
C. Chesneau 38
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
1
Iintra (P4 ) = 1.79 + × 29.58 = 7.706.
5
avec v v
u n u n
u1 X u1 X
σ1 = t (x1,i − x1 )2 = 2.5807, σ2 = t (x2,i − x2 )2 = 1.0198.
n n
i=1 i=1
Donc
I(N ) = 2.58072 + 1.01982 = 7.701.
C. Chesneau 39
5 CAH ET MÉTHODE DE WARD ; COMPLÉMENTS
On obtient :
Comme le plus grand écart se situe entre les éléments B et C, on envisage de considérer ces deux
groupes.
√
Avec la commande agnes, notons que la formule : 2 × écart de Ward a été utilisée 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 40
6 QUALITÉ D’UNE PARTITION
n
1X e(ωi , Ai )
AC = 1− ,
n e(Q, R)
i=1
où
◦ pour tout i ∈ {1, . . . , n}, Ai désigne le premier élément avec lequel ωi a été regroupé,
◦ Q et R désignent les deux derniers groupes rassemblés à l’étape finale de l’algorithme.
On a AC ∈]0, 1[.
Plus AC est proche de 1, plus les individus sont fortement structurés en plusieurs groupes. Une
valeur proche de 0 signifie que les individus appartiennent tous à un même groupe.
Individus X1 X2 X3 X4 X5
1 BB 340 20 28 9 2.60
2 HR 245 21 17 9 2.70
3 BR 420 15 39 7 2.00
4 BS 375 19 32 9 2.50
5 BC 180 22 10 17 3.70
6 CB 115 20 3 8 1.40
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 41
6 QUALITÉ D’UNE PARTITION
On constate alors une bonne structure de groupes, confirmée par le coefficient d’agglomération
proche de 1.
Indice de silhouette : Pour tout i ∈ {1, . . . , n}, on appelle indice de silhouette associé à l’individu
ωi le réel :
bi − ai
S(i) = ,
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 l’appartenance de ωi a son groupe est justifiée.
C. Chesneau 42
6 QUALITÉ D’UNE PARTITION
Ainsi, les individus ayant des grands indices de silhouette sont bien regroupés.
Si l’indice de silhouette d’un individu est négatif, l’individu n’est pas dans le bon groupe et
pourrait être déplacé dans le groupe le plus proche.
n
1X
S= S(i).
n
i=1
∈]0.51, 1] Forte
∈ [−1, 0[ Inexistante
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 43
6 QUALITÉ D’UNE PARTITION
Cela renvoie une largeur de silhouette de 0.56, soit une structure forte de la partition, un individu
isolé dans le troisième groupe (ω5 ) et pas d’individu mal regroupé ; aucun indice de silhouette
n’est négatif.
◦ l’indice d’inertie,
◦ l’indice de connectivité,
◦ l’indice de Dunn,
C. Chesneau 44
7 ACP ET CAH
7 ACP et CAH
Idée : Lorsque l’on travaille avec plus de 3 variables quantitatives, donc p ≥ 3, on peut faire une
analyse en composantes principales (ACP) et considérer les coordonnées des individus sur le plan
principal.
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 décide de faire 3 groupes (la coupure se fait interactivement sur le dendrogramme affiché).
On obtient les graphiques :
C. Chesneau 45
7 ACP ET CAH
C. Chesneau 46
8 CARACTÉRISATION DES GROUPES
Parangons : Pour chaque groupe formé, on appelle parangon l’individu dont les coordonnées
sont les plus proches du centre de gravité du groupe. Le profil de cet individu caractérise
alors le groupe auquel il appartient.
Caractères dominants dans la classification : Pour connaître les caractères qui jouent un
rôle important dans la classification, on peut faire p ANOVA à 1 facteur associées aux p
caractères considérés. Plus précisément, pour tout j ∈ {1, . . . , p}, on fait une ANOVA à 1
facteur avec :
◦ le facteur G ayant pour modalités les q groupes formés : G1 , . . . , Gq ,
◦ le caractère Xj (variable quantitative).
Pour chacun des p tests d’hypothèses, le test de Fisher renvoie alors une p-valeur évaluant
l’influence du facteur sur le caractère considéré. Ainsi, les caractères associés aux p-valeurs
les plus petites sont ceux qui importent le plus dans la classification obtenue.
Caractères dominants d’un groupe : On peut déterminer les caractères dominants pour cha-
cun des groupes formés. Pour se faire, pour chacun des caractères, on peut faire un test
d’hypothèses reposant sur loi normale. Soient G1 , . . . , Gq les q groupes formés. Pour tout
g ∈ {1, . . . , q} et tout j ∈ {1, . . . , p}, on calcule :
◦ xj,g : la moyenne des valeurs du caractère Xj pour les individus du groupe g,
◦ xj : la moyenne des valeurs du caractère Xj ,
◦ ng : le nombre d’individus dans le groupe g,
◦ sj : l’écart-type corrigé des valeurs du caractère Xj ,
◦ le zobs :
xj,g − xj
zobs = r .
s2 j n−ng
ng n−1
C. Chesneau 47
8 CARACTÉRISATION DES GROUPES
Ainsi, pour tout g ∈ {1, . . . , q}, on obtient p p-valeurs qu’il convient de classer par ordre
croissant. Pour chaque groupe, les plus petites correspondent aux caractères qui importent
le plus dans la constitution de ce groupe.
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)
◦ Classification :
res$data.clust
res$desc.ind
L’individu ω13 est un parangon pour le premier groupe et ω3 est un parangon pour le
deuxième.
◦ Étude des caractères dominants dans la classification et des caractères dominants d’un
groupe :
res$desc.var
C. Chesneau 48
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
Algorithme des centres mobiles (k means) : L’algorithme des centres mobiles vise à classer une
population Γ en q classes. Cela se fait de manière automatique ; il n’y a pas de lien hiérarchique
dans les regroupements contrairement à l’algorithme CAH. Il est le mieux adapté aux très grands
tableaux de données.
L’algorithme des centres mobiles avec la méthode de Lloyd (la plus standard) est décrit ci-
dessous :
• On forme alors q groupes de la manière suivante : chaque groupe est constitué d’un centre et
des individus les plus proches de ce centre que d’un autre. On obtient une partition P1 de
Γ.
• On calcule le centre de gravité de chacun des q sous-nuages de points formés 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é d’un centre et des individus les plus
proches de ce centre que d’un autre. On a une nouvelle partition P2 de Γ.
• On itère la procédure précédente jusqu’à ce que deux itérations conduisent à la même partition.
Remarque importante : La classification des individus dépend du choix des centres initiaux. Plu-
sieurs méthodes existent pour choisir judicieusement ces centres.
C. Chesneau 49
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
Illustration : Une illustration de l’algorithme des centres mobiles est présentée ci-dessous :
X1 X2
ω1 −2 2
ω2 −2 −1
ω3 0 −1
ω4 2 2
ω5 −2 3
ω6 3 0
1. Dans un premier temps, on fait une classification par l’algorithme des centres mobiles avec,
pour centres initiaux, c01 de coordonnées (−1, −1) et c02 de coordonnées (2.3).
2. Dans un deuxième temps, on fait de même avec, pour centres initiaux, c01 de coordonnées
(−1, 2) et c02 de coordonnées (1, 1).
1. ◦ On considère les centres initiaux c01 de coordonnées (−1, −1) et c02 de coordonnées (2, 3).
C. Chesneau 50
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
ω1 ω2 ω3 ω4 ω5 ω6
p
Exemple de calcul : d(ω1 , c01 ) = (−2 − (−1))2 + (2 − (−1))2 = 3.16.
A = {ω1 , ω2 , ω3 }, B = {ω4 , ω5 , ω6 }.
◦ On considère deux nouveaux centres, c11 et c12 , lesquels sont les centres de gravité des deux
groupes A et B. Donc c11 a pour coordonnées −2−2+0 , 2−1−1 = (−1.33, 0) et c12 a pour
3 3
coordonnées ( 2−2+3
3 , 2+3+0
3 ) = (1, 1.67).
ω1 ω2 ω3 ω4 ω5 ω6
A = {ω1 , ω2 , ω3 , ω5 }, B = {ω4 , ω6 }.
◦ On considère deux nouveaux centres, c21 et c22 , lesquels sont les centres de gravité des deux
groupes A et B. Donc c21 a pour coordonnées −2−2+0−2 , 2−1−1+3 = (−1.5, 0.75) et c22
4 4
C. Chesneau 51
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
ω1 ω2 ω3 ω4 ω5 ω6
A = {ω1 , ω2 , ω3 , ω5 }, B = {ω4 , ω6 }.
2. Considérons maintenant les centres initiaux c01 de coordonnées (−1, 2) et c02 de coordonnées
(1, 1).
◦ On considère les centres initiaux c01 de coordonnées (−1, 2) et c02 de coordonnées (1, 1).
Le tableau des distances entre les individus et ces centres est
ω1 ω2 ω3 ω4 ω5 ω6
A = {ω1 , ω2 , ω5 }, B = {ω3 , ω4 , ω6 }.
◦ On considère deux nouveaux centres, c11 et c12 , lesquels sont les centres de gravité des deux
groupes A et B. Donc c11 a pour coordonnées ( −2−2−2
3 , 2−1+3
3 ) = (−2, 1.33) et c12 a pour
coordonnées ( 0+2+3
3 , −1+2+0
3 ) = (1.67, 0.33).
C. Chesneau 52
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
ω1 ω2 ω3 ω4 ω5 ω6
A = {ω1 , ω2 , ω5 }, B = {ω3 , ω4 , ω6 }.
Remarque : On obtient deux classifications différentes suivant les choix des centres ini-
tiaux.
Commandes R de l’exemple :
C. Chesneau 53
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
Cela renvoie les groupes d’affectation de chaque individu (clus$cluster), les coordonnées 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 :
C. Chesneau 54
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
Cela renvoie :
library(cluster)
clusplot(m, clus$cluster, color = T, shade = T, labels = 2, lines = 0)
Cela renvoie :
C. Chesneau 55
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
library(cluster)
clusplot(m, clus$cluster, color = T, shade = T, labels = 2, lines = 0)
C. Chesneau 56
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
Cela renvoie :
Présentation du jeu de données iris : Une célèbre jeu de données étudié par le statisticien Fisher
en 1936 est "les iris de Fisher". Pour 3 variétés d’iris : Setosa, Versicolor, Virginica, et pour 150
iris par variété, on considère 4 caractères quantitatifs :
◦ X1 la longueur en cm d’un pétale,
◦ X2 la largeur en cm d’un pétale,
◦ X3 la longueur en cm d’un sépale,
◦ X4 la largeur en cm d’un sépale.
Ce sont les variables explicatives X1 , X2 , X3 et X4 . La variable à expliquer Y est une variable
qualitative dont les modalités sont les espèces d’iris {setosa, versicolor, virginica}.
C. Chesneau 57
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
Dans cet exemple, on a donc considéré l’algorithme des centres mobiles avec 3 centres initiaux
qui sont les individus correspondants aux lignes 15, 135 et 65 du jeu de données iris.
Méthodes alternatives : Il existe de nombreuses méthodes autres que celle de Lloyd. Il y a notam-
ment :
◦ la méthode de Forgy : les centres initiaux sont tirés au hasard parmi ceux associés aux individus
de Γ.
C. Chesneau 58
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
◦ la méthode de MacQueen : les centres sont recalculés à chaque réaffectation d’un seul individu.
◦ la méthode de Hartigan-Wong : c’est la méthode par défaut de la commande kmeans. Elle est
considérée comme la plus robuste de toutes.
clus = kmeans(dat, 3)
Quelques commandes R : Un exemple de commandes R pour utiliser l’algorithme des centres mo-
biles avec la méthode de Hartigan-Wong :
C. Chesneau 59
9 ALGORITHME DES CENTRES MOBILES (K MEANS)
Le résultat est identique à celui obtenu avec la méthode de Lloyd ; cela est un hasard.
library(cluster)
clus = pam(dat, 3)
plot(clus)
library(cluster)
clus = clara(dat, 3)
plot(clus)
◦ la méthode FANNY :
library(cluster)
clus = fanny(dat, 3)
plot(clus)
C. Chesneau 60
10 CONSOLIDATION DE L’ALGORITHME DE CAH
Idée : On peut consolider/améliorer les regroupements obtenus via l’algorithme de CAH en utilisant
l’algorithme 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.
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 données 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 consolidée est exacte. Ce n’est pas
le cas sans consolidation :
C. Chesneau 61
11 CAH AVEC DES CARACTÈRES QUALITATIFS
Règle centrale : Plus l’indice de similarité entre deux individus est élevé, plus ils se ressemblent.
Cas des caractères quantitatifs : Quand les caractères X1 , . . . , Xp sont quantitatifs, on peut choi-
sir comme indice de similarité la fonction s telle que
Tableau disjonctif complet : Dans le cas où les caractères X1 , . . . , Xp sont qualitatifs, on peut
présenter les données sous la forme d’un tableau disjonctif complet (TDC) de dimension n × r,
où r est le nombre total de modalités des p caractères considérés. Pour tout i ∈ {1, . . . , n}, la
i-ème ligne du tableau est constituée du vecteur (n1,i , . . . , nk,i , . . . nr,i ), avec
1 si i possède la modalité k,
nk,i =
0 sinon.
C. Chesneau 63
11 CAH AVEC DES CARACTÈRES QUALITATIFS
Notons que
au,v + bu,v + cu,v + du,v = r.
Indices de similarité usuels : Les indices de similarité les plus utilisés sont les suivants :
◦ Indice de Jaccard :
au,v au,v
s(ωu , ωv ) = = .
au,v + bu,v + cu,v r − du,v
◦ Indice de Dice :
2au,v
s(ωu , ωv ) = .
2au,v + bu,v + cu,v
◦ Indice de d’Anderberg :
au,v
s(ωu , ωv ) = .
au,v + 2(bu,v + cu,v )
au,v + du,v
s(ωu , ωv ) = .
au,v + du,v + 2(bu,v + cu,v )
◦ Indice de Pearson :
◦ Indice de Yule :
au,v du,v − bu,v cu,v
s(ωu , ωv ) = .
au,v du,v + bu,v cu,v
Distances à partir d’un indice de similarité et CAH : À partir d’un indice de similarité s, on
définit une application d∗ : Γ2 → [0, ∞[ par
C. Chesneau 64
11 CAH AVEC DES CARACTÈRES QUALITATIFS
On peut alors faire de la CAH avec cette dissimilarité d∗ au lieu de d et l’écart de son choix.
Sur l’indice de Jaccard : Si s est l’indice de Jaccard, alors smax = 1 et on peut prendre la dissimi-
larité :
au,v
d∗ (ωu , ωv ) = 1 − s(ωu , ωv ) = 1 − .
r − du,v
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 : célibataire, M : marié,
A : autre). On obtient :
X1 X2 X3
ω1 H U C
ω2 F U C
ω3 F R M
ω4 F U A
ω5 H R M
ω6 H R A
C. Chesneau 65
11 CAH AVEC DES CARACTÈRES QUALITATIFS
Solution :
F H R U C M A
ω1 0 1 0 1 1 0 0
ω2 1 0 0 1 1 0 0
ω3 1 0 1 0 0 1 0
ω4 1 0 0 1 0 0 1
ω5 0 1 1 0 0 1 0
ω6 0 1 1 0 0 0 1
a1,2 2
s(ω1 , ω2 ) = = = 0.5.
a1,2 + b1,2 + c1,2 2+1+1
a3,6 1
s(ω3 , ω6 ) = = = 0, 2.
a3,6 + b3,6 + c3,6 1+2+2
2. Comme
s(ω1 , ω2 ) > s(ω3 , ω6 ),
On peut aller plus loin en calculant les distances entre tous les individus et faire une CAH.
C. Chesneau 66
11 CAH AVEC DES CARACTÈRES QUALITATIFS
Commandes R de l’exemple : Les commandes R ci-dessous renvoient les dissimilarités entre tous
les individus avec l’indice de Jaccard et l’algorithme 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)
C. Chesneau 67
11 CAH AVEC DES CARACTÈRES QUALITATIFS
où
r n
nu,k X n•,k X
fu,k = , nu,• = nu,k , ρk = , n•,k = ni,k .
nu,• n
k=1 i=1
On peut aussi utiliser cette "distance" pour mettre en œuvre l’algorithme de CAH.
C. Chesneau 68
12 ENJEUX DE LA CLASSIFICATION SUPERVISÉE
Y X1 ... Xp
C. Chesneau 69
12 ENJEUX DE LA CLASSIFICATION SUPERVISÉE
C. Chesneau 70
13 MÉTHODE DES K PLUS PROCHES VOISINS
Méthode des k plus proches voisins (kNN pour K Nearest Neighbors) : Soient d une distance
et k ∈ {1, . . . , n}. En utilisant d, on considère l’ensemble Uk des k individus de Γ = {ω1 , . . . , ωn }
les plus proches de ω∗ . Ainsi, pour tout i ∈ Uk et tout j ∈ Γ − Uk , on a
Par la méthode des k plus proches voisins, une estimation ponctuelle du groupe dans lequel ω∗
a le plus de chances d’appartenir est
X
G
b = Argmax I{yi =g} ,
g∈{G1 ,...,Gq } i∈U
k
1 si yi = g (c’est-à-dire ωi appartient au groupe g),
où I{yi =g} =
0 sinon.
Illustration : Une illustration de la méthode des k plus proches voisins avec k = 3 est présentée
ci-dessous :
C. Chesneau 71
13 MÉTHODE DES K PLUS PROCHES VOISINS
A1 = c(0.1, 0.4)
A2 = c(0.8, 0.9)
A3 = c(3, 3.5)
B1 = c(5.7, 6.1)
B2 = c(5.5, 6.8)
B3 = c(6.5, 4.9)
On évalue le groupe dans lequel ω∗ a le plus de chance d’appartenir avec la méthode des k plus
proche voisins avec k = 1 :
library(class)
knn(train, point, cl, k = 1)
Cela renvoie A.
Cela renvoie B.
C. Chesneau 72
13 MÉTHODE DES K PLUS PROCHES VOISINS
On considère un autre exemple portant sur des mesures du crane associées aux chiens et aux
loups. L’entête du jeu de données "loups-g.txt" associé est :
C. Chesneau 73
13 MÉTHODE DES K PLUS PROCHES VOISINS
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, l’individu ω∗ de caractéristiques X1 = 210, X2 = 200, X3 = 76,
X4 = 22, X5 = 12 et X6 = 15 appartient au groupe des chiens.
kNN avec validation croisée : On peut aussi évaluer la qualité de l’algorithme des k plus proches
voisins à l’aide d’une validation croisée. Cela consiste à extraire un petit groupe d’individus du
jeu de données dont on connait parfaitement leur groupe d’affectation et de faire l’algorithme
des k plus proches voisins sur ceux-ci. On peut ainsi voir le nombre de fois où l’algorithme se
trompe.
C. Chesneau 74
13 MÉTHODE DES K PLUS PROCHES VOISINS
On voit alors qu’il y a eut 6 iris qui ont été mal affectés.
Taux d’erreur de classification : Partant de l’algorithme des k plus proches voisins avec validation
croisée, le taux moyen d’erreur de classification, noté t, est donné par le nombre d’individus mal
affectés sur le nombre total d’individus.
3+3
t= = 0.04.
50 + 47 + 47 + 3 + 3
C. Chesneau 75
14 MODÈLE DE MÉLANGE DE DENSITÉS
q
X
f (x, µ, Σ, r) = rk φ(x, µk , Σk ), x = (x1 , . . . , xp ) ∈ Rp ,
k=1
1 1 t −1
φ(x, µk , Σk ) = p exp − (x − µk ) Σk (x − µk ) , x ∈ Rp .
(2π)p/2 det(Σk ) 2
Enjeu : Partant des données, on souhaite estimer la probabilité inconnue qu’un individu ω∗ vérifiant
(X1 , . . . , Xp ) = x appartienne au groupe Gk :
Par la règle de Bayes et les hypothèses de départ, on peut exprimer cette probabilité comme
rk φ(x, µk , Σk )
pGk (x) = .
f (x, µ, Σ, r)
Par conséquent, une estimation des paramètres µ, Σ et p à l’aide des données donne une estimation
de pGk (x) et, a fortiori, une estimation du groupe d’appartenance de ω∗ .
C. Chesneau 77
14 MODÈLE DE MÉLANGE DE DENSITÉS
rb.
rbk φ(x, µ
bk , Σ
bk)
pbGk (x) = .
f (x, µ
b, Σ,
b rb)
(X1 , . . . , Xp ) = x la réalisation de
G
b = Argmax pbg (x).
g∈{G1 ,...,Gq }
Quelques commandes R : Rappel du jeu de données iris : pour 3 variétés d’iris : Setosa, Versicolor,
Virginica, et pour 150 iris par variété, on considère 4 caractères quantitatifs :
◦ X1 la longueur en cm d’un pétale,
◦ X2 la largeur en cm d’un pétale,
◦ X3 la longueur en cm d’un sépale,
◦ X4 la largeur en cm d’un sépale.
Ce sont les variables explicatives X1 , X2 , X3 et X4 . La variable à expliquer Y est une variable
qualitative dont les modalités sont les espèces d’iris {setosa, versicolor, virginica}.
À l’aide des mesures effectuées, à quelle variété a t’il le plus de chances d’appartenir ?
C. Chesneau 78
14 MODÈLE DE MÉLANGE DE DENSITÉS
Les commandes ci-dessous, dont lda, apportent une réponse en utilisant le modèle de mélange
des densités :
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 sûr que l’iris
observé est de l’espèce Virginica.
Validation croisée : On peut aussi évaluer la qualité du modèle de mélange de densités à l’aide d’une
validation croisée. Cela consiste à extraire un petit groupe d’individus du jeu de données dont
on connait parfaitement leur groupe d’affectation et les tester avec le modèle de mélange des
densités. On peut ainsi voir le nombre de fois où l’algorithme se trompe.
Un exemple avec le jeu de données iris et la commande lda est présenté 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 :
On voit alors qu’il y a eut 3 iris qui ont été mal affectés.
C. Chesneau 79
14 MODÈLE DE MÉLANGE DE DENSITÉS
Taux d’erreur de classification : Partant du modèle de mélange de densités, le taux moyen d’erreur
de classification, noté t, est donné par le nombre d’individus mal affectés sur le nombre total
d’individus.
1+2
t= = 0.02.
50 + 48 + 49 + 1 + 2
C. Chesneau 80
15 RÉGRESSION LOGISTIQUE
15 Régression logistique
y
logit(y) = log ∈ R, y ∈]0, 1[.
1−y
exp(y)
logit −1 (y) = ∈]0, 1[, y ∈ R.
1 + exp(y)
logit(p(x)) = β0 + β1 x1 + . . . + βp xp ,
Ainsi, p(x) et β0 + β1 x1 + . . . + βp xp sont liés par la transformation logit ; on parle de lien logit.
exp(β0 + β1 x1 + . . . + βp xp )
p(x) = logit −1 (β0 + β1 x1 + . . . + βp xp ) = ,
1 + exp(β0 + β1 x1 + . . . + βp xp )
C. Chesneau 81
15 RÉGRESSION LOGISTIQUE
Estimateurs du maximum de vraisemblance : Notre objectif est d’estimer les coefficients incon-
nus β0 , . . . , βp à partir des données. Pour ce faire, on utilise la méthode du maximum de vrai-
semblance qui donne les estimateurs βb0 , . . . , βbp .
Dans le cas général, il n’y a pas d’expression analytique pour βb0 , . . . , βbp ; ils peuvent être approchés
avec l’algorithme de Newton-Raphson.
(X1 , . . . , Xp ) = x la réalisation de
G1 si pb(x) ≥ 0.5,
G
b=
G2 sinon.
Y X1 X2
1 2.36 16.83
1 0.71 47.32
0 2.07 20.97
1 1.15 21.49
1 1.10 40.87
1 3.90 69.52
C. Chesneau 82
15 RÉGRESSION LOGISTIQUE
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
Taux d’erreur de classification : Partant du modèle de régression logistique, le taux moyen d’er-
reur de classification noté t est donné par le nombre d’individus mal affectés sur le nombre total
d’individus.
Plus d’éléments seront donnés 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 83
Index
kmeans, 58
k means, 49
lda, 79
kNN, 71
silhouette, 43
Largeur de silhouette, 43
ACP et CAH, 45
Matrice de données, 11
CAH, 23
Modèle de mélange de densités, 77
CAH caractères qualitatifs, 63
Méthode de Forgy, 58
Classification non-supervisée, 5
Méthode de Hartigan-Wong, 59
Classification supervisée, 6, 69
Méthode de la distance moyenne, 19
Coefficient d’agglomération, 41
Méthode de MacQueen, 59
Consolidation CAH, 61
Méthode de Ward, 20, 33
Méthode du plus proche voisin, 19
Dendrogramme, 25
Méthode du voisin le plus éloigné, 19
Distance du Chi-deux, 68
Distance entre 2 individus, 17 PAM, 60
Distance euclidienne, 16 Parangons, 47
Distances, 16
Ressemblance, 11
Décomposition de Huygens, 34
Régression logistique, 81
Ecart de Ward, 20
Tableau des écarts, 20
Ecarts, 18
Tableau disjonctif complet, 63
Indice de Dice, 64 Taux d’erreur de classification, 75, 80, 83
Indice de Jaccard, 64, 65 Transformation Logit, 81
85