Institut Supérieur Dr.
Sana HAMDI
d’informatique Filière : MP1_SD
Et de Mathématique
TP 2 : Les méthodes de structuration et de classification en
apprentissage non supervisé
I. Objectif :
Ce travail pratique se concentre sur la façon dont vous pouvez utiliser les approches
d'apprentissage non supervisées pour trouver une structure dans les données non labellisées.
Le but de ce TP est d'expérimenter les différents algorithmes de clustering afin d'acquérir des
notions sur : le calcul de distance, la classification par l'algorithme k-means, la classification
ascendante hiérarchique et choix de distances entre classes, la construction du dendrogramme,
choix du nombre de classes.
II. L'algorithme des K-moyennes
Les K-moyennes ou K-Means (MacQueen [13]) est un algorithme d'apprentissage non
supervisé qui tente de regrouper les données en fonction de leur similitude. Dans l'algorithme
des K-moyennes, nous devons spéci er le nombre de clusters dans lesquels nous voulons que
les données soient regroupées. L'algorithme attribue de manière aléatoire chaque observation
à un cluster et trouve le centroïde de chaque clustering. Ensuite, l'algorithme itère en deux
étapes :
- Réaffectez les points de données au groupe dont le centre de direction est le plus
proche.
- Calculez le nouveau centroïde de chaque grappe.
Préalablement à l'étape de partitionnement des données, il est indispensable de réaliser un pré-
traitement de la base, par l'élimination ou traitement des données manquantes, codage, la
transformation des variables qualitatives, réduction des données, etc.
1/4
Avant d'aborder l'implémentation de l'algorithme des k-moyennes sous R, nous devons
répondre à une question fondamentale qui est « comment choisir le nombre de clusters (K) ? »
Le principe du partitionnement des données consiste à faire en sorte que les groupes soient
regroupés de manière homogène dans les clusters et de manière distincte des autres groupes.
Il n'existe aucune formule mathématique qui peut nous donner directement une réponse au
choix de "K", mais c'est un processus itératif où nous devons exécuter plusieurs itérations
avec différentes valeurs de "K" et choisir celles qui répondent le mieux à notre objectif.
Il existe la fonction NbClust() du package du même nom1, qui offre à l'utilisateur le meilleur
schéma de regroupement parmi les différents résultats.
La fonction [Link]() dans le package fpc ([Link]
[Link]/web/packages/fpc/[Link]) fournit un mécanisme pour comparer la similarité
2/4
de deux solutions de cluster en utilisant une variété de critères de validation comme : le
coefficient gamma d'Hubert, l'indice de Dunn et l'indice de rand ajusté.
Où d est une matrice de distance parmi les objets,
Classification hiérarchique
Le regroupement hiérarchique peut être divisé en deux principaux types : agglomératif et
divisif.
a. Le clustering hiérarchique agglomératif
Nous pouvons effectuer le regroupement agglomératif avec la fonction hclust(). Tout d'abord,
nous calculons les valeurs de dissimilarité avec dist(), puis alimentons ces valeurs dans
l'hclust et spéci ons la méthode d'agglomération à utiliser (c'est-à-dire "complete", "average",
"single", "ward.D"). Nous pouvons ensuite tracer le dendrogramme.
3/4
Alternativement, nous pouvons utiliser la fonction agnes(). Ces fonctions se comportent de
manière très similaire ; cependant, avec la fonction agnes(), vous pouvez également obtenir le
coefficient agglomératif, qui mesure la quantité de structure de regroupement trouvée (des
valeurs proches de 1 qui suggèrent une forte structure de regroupement).
b. Le clustering hiérarchique divisif
La fonction R diana(), nous permet d'effectuer un clustering hiérarchique divisif. Diana
fonctionne comme Agnes ; Cependant, il n'existe aucune méthode à fournir.
III. Analyse des dendrogrammes
Afin d'identifier les sous-groupes (c.-à-d. les clusters), nous pouvons couper le dendrogramme
par l'utilisation de la fonction cutree().
4/4