Analyse de Données ID Classification Hiérarchique Ascendante Philippe LERAY philippe.leray@univ-nantes.fr Equipe COnnaissances et Décision Laboratoire d Informatique de Nantes Atlantique FRE 2729 Site de l Ecole Polytechnique de l université de Nantes
Introduction Objectif = structuration des données Clustering (en anglais) = Classification (en français) On cherche à regrouper les points proches en classes... Les classes peuvent être assez bien définies Philippe Leray AD - ID CHA 2/23
Introduction Les classes peuvent aussi être assez imbriquées, avoir des formes bizarres, ou pire Philippe Leray AD - ID CHA 3/23
Applications Forme Cluster Text Mining 1 Texte Textes proches 1 Mail dossiers automatiques Bioinformatique 1 gène gènes ressemblants Marketing {infos client, produits achetés} segmentation de la clientèle Web log analysis Clickstream utilisateurs types... Philippe Leray AD - ID CHA 4/23
Plan Points abordés Généralités Clustering hiérarchique Clustering par partitionnement Mais il existe d autres familles de méthodes Clustering par modélisation Clustering basé sur la densité Clustering par grille Philippe Leray AD - ID CHA 5/23
Plan Points abordés Généralités Notion de proximité Qualité d une partition Clustering hiérarchique Clustering par partitionnement Philippe Leray AD - ID CHA 6/23
Notion de proximité Vocabulaire Mesure de dissimilarité DM : plus la mesure est faible plus les points sont similaires ( distance) Mesure de similarité SM : plus la mesure est grande, plus les points sont similaires DM = borne SM Philippe Leray AD - ID CHA 7/23
Notion de proximité Comment mesurer la distance entre 2 points? d(x 1, x 2 ) distance euclidienne : d 2 (x 1, x 2 ) = i (x 1 i x 2i ) 2 = (x 1 x 2 )(x 1 x 2 ) distance de Manhattan : d(x 1, x 2 ) = i x 1 i x 2i distance de Sebestyen : d 2 (x 1, x 2 ) = (x 1 x 2 )W (x 1 x 2 ) (W = matrice diagonale de pondération) distance de Mahalanobis : d 2 (x 1, x 2 ) = (x 1 x 2 )C 1 (x 1 x 2 ) (V =covariance) Philippe Leray AD - ID CHA 8/23
Notion de proximité Et si x 1 et x 2 sont à valeurs discrètes? On peut les répresenter dans une matrice de contingence A(x 1, x 2 ) = [a ij ] x 1 = [0, 1, 2, 1, 2, 1] et x 1 = [1, 0, 2, 1, 0, 1] A(x 1, x 2 ) = [0 1 0 ; 1 2 0; 1 0 1] distance de Hamming nombre de places où les 2 vecteurs diffèrent: d(x 1, x 2 ) = j=k 1 i=0 j=k 1 j=0,j i a ij Philippe Leray AD - ID CHA 9/23
Notion de proximité Comment mesurer la distance entre 2 classes D(C 1, C 2 ) plus proche voisin : min(d(i, j), i C 1, j C 2 ) diamètre maximum : max(d(i, j), i C 1, j C 2 ) distance moyenne : i,j d(i,j) n 1 n 2 distance des centres de gravité : d(µ 1, µ 2 ) distance de Ward : n1 n 2 n 1 +n 2 d(µ 1, µ 2 )... Philippe Leray AD - ID CHA 10/23
Bonne partition Comment savoir si un regroupement est correct inertie (intra) d un cluster = variance des points d un même cluster J w = d 2 (x i, µ g ) g i C g inertie (inter) = variance des centres des clusters J b = c N g d 2 (µ g, x) il faut minimiser l inertie intra-cluster et maximiser l inertie inter-cluster Philippe Leray AD - ID CHA 11/23
Bonne partition Illustration (Bisson 2001) C 1 g 1 C 3 g 3 C 2 g g 2 g g 4 C 4 Inertie totale des points = Inertie Intra + Inter Philippe Leray AD - ID CHA 12/23
Bonne partition Illustration (Bisson 2001) Forte inertie inter-classes Faible inertie intra-classes Faible inertie inter-classes Forte inertie intra-classes g 3 g 1 g 2 g 4 Philippe Leray AD - ID CHA 13/23
Plan Points abordés Généralités Clustering hiérarchique : Classification Hiérarchique Ascendante BIRCH, CURE, Chameleon,... Clustering par partitionnement Philippe Leray AD - ID CHA 14/23
Principe Chaque point ou cluster est progressivement absorbé par le cluster le plus proche Algorithme Initialisation : Chaque individu est placé dans son propre cluster, Calcul de la matrice de ressemblance M entre chaque couple de clusters (ici les points) Répéter Sélection dans M des deux clusters les plus proches C I et C J Fusion de C I et C J par un cluster C G plus général Mise à jour de M en calculant la ressemblance entre C G et les clusters existants Jusqu à la fusion des 2 derniers clusters Philippe Leray AD - ID CHA 15/23
Exemple (Bisson 2001) Hiérarchie (indicée) i C 10 C8 C5 C10 C 9 C2 C4 C 8 C 6 C 5 C C 4 3 C 2 C 7 C 1 C6 C3 C9 C1 C7 Dendogramme représentation des fusions successives hauteur d un cluster dans le dendrogramme = similarité entre les 2 clusters avant fusion (sauf exception avec certaines mesures de similarité)... Philippe Leray AD - ID CHA 16/23
Métrique Saut minimal (single linkage) tendance à produire des classes générales (par effet de chaînage) sensibilité aux individus bruités. Saut maximal (complete linkage) tendance à produire des classes spécifiques (on ne regroupe que des classes très proches) sensibilité aux individus bruités. Saut moyen tendance à produire des classes de variance proche Barycentre bonne résistance au bruit Philippe Leray AD - ID CHA 17/23
Exemple (Bisson 2001) Données (métrique : dist. Eucl.) Saut minimal Saut maximal 4 3 C D 1,1 i 4,0 i E 2 B 1 A F 0,9 0,7 2,8 1,7 0 0 1 2 3 4 0,5 F E A B C D 0,5 C D A B E F pas les mêmes résultats selon la métrique utilisée... Philippe Leray AD - ID CHA 18/23
Exemple 2 Données 26 individus Données = 5 valeurs 0/1 (inscriptions dans 5 matières optionnelles) Est-on capable de faire ressortir des groupes d affinité? Philippe Leray AD - ID CHA 19/23
Exemple 2 : saut minimal BARO CAST CORD BONV PESQ BOIT TRAO WAAG CHAM LEDI BOND SPER GREM CAMP PERS WEYC CAPR FOUR GESL JEAN LEHO HAUT OHAN RABA RABI ZEHN Pas moyen de faire de sous-groupes, tout le monde est à une distance de 0 ou 1 des autres clusters. Philippe Leray AD - ID CHA 20/23
Exemple 2 : saut maximal BARO CAST CORD GREM RABI ZEHN CAMP PERS WEYC CAPR FOUR GESL JEAN LEHO BOIT TRAO WAAG BONV PESQ HAUT OHAN RABA BOND SPER CHAM LEDI En changeant de métrique, on observe davantage de sous-regroupements Philippe Leray AD - ID CHA 21/23
Exemple 2 : saut maximal vive la vision rpmbuild ba kernel*.spec J aime bien le traitement de l information BARO CAST CORD GREM RABI ZEHN CAMP PERS WEYC CAPR FOUR GESL JEAN LEHO BOIT TRAO WAAG BONV PESQ HAUT OHAN RABA BOND SPER CHAM LEDI Pour construire les clusters, on coupe l arbre à la hauteur voulue, i.e. une distance seuil entre les clusters Philippe Leray AD - ID CHA 22/23
Complexité Classification Hierarchique Ascendante : O(n 3 ) Certaines variantes de CHA CURE : O(n 2 ) en petite dim., O(n 2 + nm log n) sinon (en commençant avec m clusters) CHAMELEON : graphe k-ppv : O(n log n) en petite dim. sinon O(n 2 ) clustering : O(nm + n log n + m 2 log m) Philippe Leray AD - ID CHA 23/23