SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Groupement (Clustering)

 Objectifs
 Distances
 Algorithmes
      Méthodes par partitionnement
      Méthodes hiérarchiques
      Méthodes par densité
      Méthodes par grilles
1. Objectifs et Définitions

 Classification automatique d'objets
     en se basant sur une mesure de similarité (ou
      distance) pour grouper les données
 Buts :
     Maximiser la similarité intra-classes et minimiser
      la similarité inter-classes.
     Mesurer la distance en assimilant un tuple à un
      point dans un espace à n dimensions.
                                                      2
Méthode non supervisée

 Méthode permettant de découvrir les groupes
  (clusters) d'individus similaires
 Application aux tables relationnelles
     Formation de groupes de tuples (clusters) à partir
      d'une fonction de distance
     On met ensemble les tuples les plus "proches"
 On ne connaît pas les classes à priori
     elles sont à découvrir automatiquement
     Il est parfois possible d'en fixer le nombre
                                                      3
Objectifs

 Passage à l'échelle
      espaces de grande dimension supportés
      nombreux objets lus une seule fois en base
 Robustesse
      indépendance à l'ordre de parcours de la base
      capacité à découvrir des groupes de toute forme
      insensibilité aux points isolés (outliers)
      insensibilité au bruit
 Lisibilité
      comment donner un sens aux résultats ?
      comment interpréter les classes ?
                                                         4
Similarité

 Problèmes :
      La notion de distance et d’appartenance à un groupe
       varie selon le domaine
 Indice de similarité
      S1) s est symétrique : s(w, w’) = s(w’, w)
      S2) s(w, w) = s(w’, w’) > s(w, w’) C’est une constante
       supérieure : smax
 Indice de disimilarité:
      ne vérifie pas S2) mais S2’) ∀ w ∈ Ω, di(w, w) = 0

                                                                5
Distance

 Distance : indice de dissimilarité qui vérifie
  également :
     (D1) d(w, w’) = 0 => w = w’
     (D2) pour tout w, w’,w” de Ω,
      d(w, w’) ≤ d(w, w”) + d(w”, w’)
     Indice de distance : indice de dissimilarité qui
      ne vérifie que (D1)
     Ecart : indice de dissimilarité qui ne vérifie que
      (D2) /* inégalité triangulaire */
                                                      6
Distances (données
                     numériques)
 Distance euclidienne générale :
      w1 et w2 sont deux points de coordonnées x1 et x2
      S(x) désigne le transposé de x (coordonnées en ligne)
      M est une matrice symétrique définie positive
      d2(w1, w2) = S(x1 – x2) M (x1 – x2)
 Distance du χ2 :
      d2(w1, w2) = Σj=1,p (1/x.j) * (x1j / x1. – x2j/ x2.)2
       avec x.j = Σi=1,n xij et xi. = Σj=1,p xij
      Mesure l'indépendance entre les vecteurs w1 et w2
                                                               7
Distances (données
                        numériques)
 Distance de Minkowsky :
     d(w1, w2) = [ Σj=1p |x1j – x2j|λ ] 1/λ
     pour λ = 1, on a les valeurs absolues (distance de
      Manhattan)
     pour λ = 2, on a la distance euclidienne simple (M = I)
     pour λ  +∞, on obtient la distance de Chebyshev
      (ultramétrique):
          d(w1, w2) = Max j |x1j – x2j|


                                                                8
Distances (données binaires)

 On considère x1 et x2 deux vecteurs binaires :
      Soit a le nombre de fois où x1j = x2j = 1
      Soit b le nombre de fois où x1j = 0 et x2j = 1
      Soit c le nombre de fois où x1j = 1 et x2j = 0
      Soit d le nombre de fois où x1j = x2j = 0
 Exemple de similarités souvent utilisées :
      D1(x1, x2) = a / (a+b+c+d)
      D2(x1, x2) = a / (a+b+c)
      D3(x1, x2) = 2a / (2a+b+c)
      D4(x1, x2) = a / (a+2(b+c))
      D5(x1, x2) = (a+d) / (a+b+c+d)                   9
Distances (données
                    qualitatives)
 Similarités entre individus :
      codage disjonctif complet; permet de se ramener à un
       tableau de variables binaires  utilise les notions des
       variables quantitatives (surtout χ2)
 Similarités entre variables :
      considère le tableau de contingence associé à deux
       variables v1 et v2 (comptage par catégorie)
      permet de définir un similarité entre les variables.
      Par exemple la valeur du χ2 de contingence peut-être
       utilisé comme similarité entre les variables.
                                                                 10
Notion de prototypes

 Kleiber :
      les frontières entre catégories sont floues
      les exemplaires d’une catégorie ne présentent pas de
       propriétés communes à tous les membres ; c’est une
       ressemblance de famille qui les regroupe
      l’appartenance à une catégorie s’effectue sur la base du
       degré de similarité avec le prototype
      l’appartenance à une catégorie ne s’opère pas de façon
       analytique mais de façon globale

                                                                  13
Typicalité

 Desclés :
       Etudie les relations entre intention et extension d’un concept :
            Ext(f) = {x; f(x) soit vrai}   Int(f) = {g; f comprend g}
       problème au niveau de la transitivité :
            “autruche est oiseau” + “oiseau volent” => “autruche vole” ?
       Finalement : la dualité ne tient que pour les prototypes et les occurrences
        typiques
 Différence entre degré d’appartenance et degré de typicalité :
       “l’autruche est un oiseau mais n’est pas typique de la classe oiseau”
 Calcul du degré de typicalité :
       “un objet est d’autant plus typique qu’il ressemble beaucoup aux membres
        de sa classe et qu’il est très différent des membres des autres classes.”


                                                                                      14
Principales Méthodes (1)

 Méthodes par partitionnement:
     Construire k partitions et les corriger jusqu'à
      obtenir une similarité satisfaisante
     k-means, k-medoids, CLARANS
 Méthodes hiérarchiques:
     Créer une décomposition hiérarchique par
      agglomération ou division de groupes similaires
      ou dissimilaires
     AGNES, DIANA, BIRCH, CURE, ROCK, …
                                                        15
Principales Méthodes (2)

 Méthodes par densité:
      Grouper les objets tant que la densité de voisinage excède une
       certaine limite
      DBSCAN, OPTICS, DENCLUE
 Méthodes par grille:
      Diviser l'espace en cellules formant une grille multi-niveaux et
       grouper les cellules voisines en terme de distance
      STING, WaveCluster, CLIQUE
 Méthodes par modèle:
      Modéliser les groupes et utiliser le modèle pour classer les points
      COBWEB, Neural Networks
                                                                             16
2. Méthodes par Partition

 N objets sont classés en k-partitions
     Construire k partitions et les corriger jusqu'à
      obtenir une similarité satisfaisante
     Optimisation d'une fonction d'objectif
       similarité   inter-classe
     k-means, k-medoids en mémoire
       compression     possible
     CLARANS pour les BD

                                                        17
2.1 K-Means

 Méthode des K-moyennes (MacQueen’67)
     choisir K éléments initiaux "centres" des K
      groupes
     placer les objets dans le groupe de centre le plus
      proche
     recalculer le centre de gravité de chaque groupe
     itérer l'algorithme jusqu'à ce que les objets ne
      changent plus de groupe
 Encore appelée méthode des centres mobiles
                                                       18
Algorithme

 Étapes:
      fixer le nombre de clusters: k
      choisir aléatoirement k tuples comme graines (centres)
      assigner chaque tuple à la graine la plus proche
      recalculer les k graines
      tant que des tuples ont été changés
        réassigner les tuples
        recalculer les k graines




 C'est l'Algorithme le plus utilisé
                                                                19
Exemple de K-Means (k=2)



Choisir 2 graines           Assigner les tuples




Recalculer les centroïdes   Réassigner les tuples
                                                    20
Trajectoire des centres


 Trajectoires des 3 centres
 d’un nuage de points
 bidimensionnel


Les hyperplans séparateurs
entre les classes




                                         21
Autre exemple (1)

 27-51-52-33-45-22-28-44-40-38-20-57
 K=3
 distance = différence/amplitude maximum
              27     51     52     33     45     22     28     44     40     38     20     57
 Graine 27    0.00   0.65   0.68   0.16   0.49   0.14   0.03   0.46   0.35   0.30   0.19   0.81
 Graine 51    0.65   0.00   0.03   0.49   0.16   0.78   0.62   0.19   0.30   0.35   0.84   0.16
 Graine 52    0.68   0.03   0.00   0.51   0.19   0.81   0.65   0.22   0.32   0.38   0.86   0.14
Minimum          0      0      0   0.16   0.16   0.14   0.03   0.19    0.3    0.3   0.19   0.14
Affectation      1      2      3      1      2      1      1      2      2      1      1      3


 Cluster 1 : 27 - 33 - 22 - 28 - 38 - 20
 Cluster 2 : 51 - 45 - 44 - 40
 Cluster 3 : 52 - 57

                                                                                             22
Suite exemple (2)

                27     51      52     33     45     22     28     44     40     38     20     57
Graine 28       0.03   0.62    0.65   0.14   0.46   0.16      0   0.43   0.32   0.27   0.22   0.78
Graine 45       0.49   0.16    0.19   0.32      0   0.62   0.46   0.03   0.14   0.19   0.68   0.32
Graine 54.5     0.74   0.09    0.07   0.58   0.26   0.88   0.72   0.28   0.39   0.45   0.93   0.07
Minimum         0.03   0.09    0.07   0.14      0   0.16      0   0.03   0.14   0.19   0.22   0.07
Affectation        1      3       3      1      2      1      1      2      2      2      1      3



   Cluster 1:
          27 - 33 - 22 - 28 - 20            Jeunes majeurs - Centre = 26
   Cluster 2:
          45 - 44 - 40 - 38                 Quadragénaires - Centre = 41.75
   Cluster 3:
          51 - 52 - 57                      Quinquagénaires - Centre = 53.33

                                                                                              23
Faiblesse

 Mauvaise prise en compte des "outliers"
     points extrêmes en dehors des groupes
     fausses les moyennes et donc les centres
 Convergence plus ou moins rapide
 Amélioration:
     utilisation de points centraux (médoïdes)


                                                  24
2.2 k-Médoïds

 Kaufman & Rousseeuw’87
 Les centres sont des points effectifs
     recherche de centres approchés des groupes
     calculés par substitution aléatoire:
       choix aléatoire d'un nouveau centre
       calcul de la différence en distance des points

       substitution si la différence est négative

     essai de tous les couples (x,y) de chaque groupe
       l'un   est centre, l'autre non
                                                         25
Forces et faiblesses

 Connue sous le nom PAM
     Partitioning Around Medoids
 Beaucoup plus coûteuse que K-Means
     Plus de calculs
 Plus robuste que k-means
     Plus insensible aux "outliers"


                                       26
2.3 CLARA et CLARANS

 CLARA (Clustering LARge Applications)
      Kaufmann and Rousseeuw 1990
 Tire des petits échantillons successifs de la base
      exemple: 5 de 40 points
 Applique PAM à chaque échantillon
      isole les médoids
      retourne le meilleur clustering
 La qualité d'un clustering est mesurée par la
  dissimilarité des objets de chaque partition sur toute
  la base
                                                       27
CLARANS (1)

 A Clustering Algorithm based on
  Randomized Search
     Ng and Han’94
 Recherche d'un échantillon représentatif
     Exploration d'un graphe où chaque nœud
      correspond à un ensemble de k médoids solution
 Deux nœuds sont voisins s'ils différent d'un
  seul médoid
                                                   28
CLARANS (2)

 Chaque nœud est affecté d'un coût mesurant la
  dissimilarité totale des points avec le médoid de
  leur cluster
 Il s'agit de rechercher le point de coût minimum du
  graphe
      Algorithme de type "branch and bound"
      A chaque étape, les voisins du nœuds courant sont
       évalués; celui correspondant à la descente maximum du
       coût est retenu comme solution suivante
 Plus efficace que CLARA et résultats meilleurs
                                                               29
3. Méthodes hiérarchiques


 Créer une décomposition hiérarchique en
  groupes (clusters)
 par agglomération de groupes similaires
 par division de groupes dissimilaires
 AGNES, DIANA, BIRCH, CURE, ROCK,
  Cameleon
                                            30
3.1 Agglomération - Principe

 Etapes :
     Chaque individu représente un groupe
     Trouver les deux groupes les plus proches
     Grouper ces deux groupes en un nouveau groupe
     Itérer jusqu'à N groupes




                                                  31
Agglomération

 Exemple




    1       3     18    22




                             32
Variante

 Calculer les distances de tous les points
 deux à deux.
 Associer tous les points dont la distance ne
 dépasse pas un seuil.
 Calculer le centre de chaque cluster.
 Répéter le processus avec les centres et un
 nouveau seuil jusqu ’à l’obtention du nombre
 de cluster souhaité.
                                             33
Exemple (1)

 Points 27 - 51 - 52 - 33 - 45 - 22 - 28 - 44 - 40 - 38 - 20 - 57
 distance = |p1-p2| / E(pi) ; seuil = 10 %
               27     51     52     33     45     22     28     44      40     38     20     57
         27    0.00   0.65   0.68   0.16   0.49   0.14   0.03   0.46    0.35   0.30   0.19   0.81
         51    0.65   0.00   0.03   0.49   0.16   0.78   0.62   0.19    0.30   0.35   0.84   0.16
         52    0.68   0.03   0.00   0.51   0.19   0.81   0.65   0.22    0.32   0.38   0.86   0.14
         33    0.16   0.49   0.51   0.00   0.32   0.30   0.14   0.30    0.19   0.14   0.35   0.65
         45    0.49   0.16   0.19   0.32   0.00   0.62   0.46   0.03    0.14   0.19   0.68   0.32
         22    0.14   0.78   0.81   0.30   0.62   0.00   0.16   0.59    0.49   0.43   0.05   0.95
         28    0.03   0.62   0.65   0.14   0.46   0.16   0.00   0.43    0.32   0.27   0.22   0.78
         44    0.46   0.19   0.22   0.30   0.03   0.59   0.43   0.00    0.11   0.16   0.65   0.35
         40    0.35   0.30   0.32   0.19   0.14   0.49   0.32   0.11    0.00   0.05   0.54   0.46
         38    0.30   0.35   0.38   0.14   0.19   0.43   0.27   0.16    0.05   0.00   0.49   0.51
         20    0.19   0.84   0.86   0.35   0.68   0.05   0.22   0.65    0.54   0.49   0.00   1.00
         57    0.81   0.16   0.14   0.65   0.32   0.95   0.78   0.35    0.46   0.51   1.00   0.00




 51       52    27      28      44         45      38      40          20      22      33      57   34
Exemple (2)

 Nouveaux centres
       27.5 - 51.5 - 33 - 44.5 - 21 - 39 - 57
 seuil = 20 %
               27.5      51.5           33       44.5           21       39        57
       27.5       0.00      0.67          0.15      0.47          0.18     0.32      0.82
       51.5       0.67      0.00          0.51      0.19          0.85     0.35      0.15
        33        0.15      0.51          0.00      0.32          0.33     0.17      0.67
       44.5       0.47      0.19          0.32      0.00          0.65     0.15      0.35
        21        0.18      0.85          0.33      0.65          0.00     0.50      1.00
        39        0.32      0.35          0.17      0.15          0.50     0.00      0.50
        57        0.82      0.15          0.67      0.35          1.00     0.50      0.00




        20    22   27     28       33       38    40       44       45   51       52   57
                                                                                            35
Un dendrogramme




                  36
Règles de liens

 Distance des objets les plus proches
     tendance à former des chaînes
 Distance des objets les plus éloignés
     bonne méthode pour des grappes
 Distance des centres
     faible résistance aux "outliers"
 Distance moyenne
     plus difficile à calculer
                                          37
3.2 DIANA

 DIvide ANAlysis
      Kaufmann and Rousseeuw (1990)
 Méthode par division récursive
 Tous les objets sont placés dans une cluster
 Divise de manière hiérarchique les clusters
      selon un critère de dispersion des objets
      e.g., celle(s) dont les objets les plus proches sont les plus
       éloignés
 Stoppe quand le nombre de clusters est atteint ou
  les clusters contiennent 1 seul objet
                                                                   38
Exemple

 Possibilité d'utiliser un seuil de distance




                                                39
3.3 BIRCH

 Balanced Iterative Reducing and Clustering using
  Hierarchies
      Zhang, Ramakrishnan, Livny (SIGMOD’96)
 Par division, incrémentale en une passe
 Sauvegarde les informations de clustering dans un
  arbre balancé
 Chaque entrée de l'arbre décrit une cluster
 Les nouveaux nœuds sont insérés sous l'entrée la
  plus proche
                                                      40
Arbre de clustering

 CF (N,LS,SS) = Clustering Feature
     N: Nombre de points dans la cluster = Moment 0
     LS: Somme des points dans la cluster = Moment 1
     SS: Somme des carrés des points dans la cluster = Mo. 2
 CF Tree
     Arbre de recherche équilibré (proche B-tree)
     Un noeud mémorise la somme des CF de chaque fils
     Les feuilles représentent les clusters
       mémorise les CF des clusters
       possède un diamètre maximum (seuil)



                                                           41
Construction incrémentale

 Phase 1:
      parcours de la base pour construire un CF-tree initial en
       mémoire
      une feuille est éclatée quand le seuil de diamètre est
       dépassé
      les moments sont alors remontés aux nœuds internes
 Permet d'obtenir un résumé comprimé de la base
  respectant les caractéristiques de groupage


                                                                   42
Algorithme BIRCH




                   43
Phase 2: Amélioration des
                  clusters
 Si l'arbre ne tient pas en mémoire, augmenter
  le seuil de diamètre
 Etape 2 optionnelle :
     Appliquer un algorithme de clustering en
      mémoire aux nœuds feuilles du CF tree, chaque
      nœud étant traité comme un point
     Placer les points dans la cluster de centre le plus
      proche
                                                        44
Forces et Faiblesses

 Passe à l'échelle avec un grand nombre
  d'objets
 Trouve un bon clustering en une passe et
  permet d'améliorer ensuite
 Marche mieux avec des groupes sphériques
     utilisation du diamètre des clusters



                                             45
3.4 CURE

 Groupe en utilisant des représentants
 Utilise un nombre fixe de points pour
  représenter un groupe
 Les points sont choisis:
     1) en choisissant des points écartés
     2) en les déplaçant vers le centre du groupe
 A chaque étape, les 2 groupes ayant les
 représentants les plus proches sont fusionnés
                                                     46
Principes de CURE




                    47
Algorithme CURE




                  48
Application aux larges BD

 Tirer un échantillon
 Diviser l'échantillon en p partitions de q points
 Grouper les points partiellement dans chaque
  partition
 Enlever les outliers basés sur la taille des groupes
 Terminer le clustering de l'échantillon
 Grouper la base entière en classant chaque point
  dans le groupe de son représentant le plus proche

                                                         49
Cure : Forces et Faiblesses

 S'adapte bien à la géométrie des clusters
     représentant multiples
     déplacement du bord vers le centre des
      représentants
 Philosophie pour passer à l'échelle




                                               50
4. Méthodes par densité

 Principe
     Utilisation de la densité à la place de la distance
     Un point est voisin d'un autre point s'il est à une
      distance inférieure à une valeur fixée
     Un point est dense si le nombre de ses voisins
      dépasse un certain seuil



                                                            51
Points denses

 q est dense, mais pas p




                                52
DBSCAN

 La découverte d’un groupe se déroule en 2
  étapes
     choisir aléatoirement un point dense
     tous les points qui sont atteignables à partir de ce
      point, selon le seuil de densité, forment un
      groupe



                                                        53
Algorithme DBSCAN




                    54
Exemple

 on commence par o, ce cluster contient p, q,
  etc.




                                                 55
Comparaison K-means et
            DBSCAN




Résultat de K-means   Résultat de Density

                                            56
OPTICS

 DBSCAN nécessite 2 paramètres
     Epsilon = rayon de voisinage (distance max)
     MinPts = seuil de densité (nombre min)
     difficiles à fixer, changent les résultats
 OPTICS
     effectue le clustering pour plusieurs valeurs du
      rayon de voisinage Epsilon simultanément
     calcul un ordre de clustering représentant la
      structure de densité des données
                                                         57
Caractéristiques d'un objet

 Core-distance
      plus petite distance le rendant dense (min Eps)
      indéfinie si non dense
 Reachability-distance de q vers p
      max(core-distance de p, dist(p,q))
 L'algorithme
      crée une liste ordonnée des Eps pour tous les objets
      applique les DBSCAN en parallèle selon cette liste

                                                              58
Forces et Faiblesses

 Performance similaire à DBSCAN
     O(n log n)
 Nécessite un index spatial
 Pas de Epsilon à choisir
 Autre méthode : DENCLUE
     modélisation analytique de l'influence d'un point
      et de l'espace des points
     basée sur des principes mathématiques solides
                                                      59
5. Méthodes par Grilles

 Principes
      Diviser l'espace en cellules formant une grille et grouper
       les cellules voisines en terme de distance
      STING, WaveCluster, CLIQUE
           Salaire
                                                          39                **    **
               7                       *                  38                **    **
               6                ** ** *    *    *   *     37
                                                          36                **    **
               5            *   ** ** **   **             35          *     **    **
                                                          34          **    ***   ***
               4            ** *** *** *                  33     *    ***   **    **
               3       *    *** ** **                     32     **   *     *
                                                          31
               2       **   *   *                         30
               1                                               35 36 37 38 39

               0
                     20 25 30 35 40 45 50 55 60            Niveau N-1
                                                    Age
                            Niveau N                                                    60
Caractéristiques de chaque
                     cellule
   min (minimum)
   max (maximum)
   count
   m (mean)
   s (standard deviation)
   distribution (normale, uniform, exponentielle, …)

       Ceux de niveaux N se calculent à partir de ceux de
        niveau (N-1)

                                                             61
STING

 STING détermine les clusters comme les
  cellules denses connectées de la grille
 Affinages successifs par niveau:
     Pour chaque cellule du niveau courant, STING
      calcul l'intervalle de probabilité que des sous-
      cellules soient denses
     Les cellules non relevantes sont éliminées
 Processus répété jusqu'au niveau le plus bas
                                                         62
CLIQUE

 Méthode mixte Grille & Densité
 Principe de base:
      Dans un sous-espace donné, une cellule est dense si le
       pourcentage d’objets qu’elle contient est supérieur à un
       seuil donné  Tout sous-espace d'un espace dense est
       dense
      On recherche les sous-espaces denses de dimension (k-
       1), puis on les intersecte pour former les sous-espaces
       candidats de dimension k
 Sorte de généralisation de Apriori à N dimensions
                                                                  63
CLIQUE

 Partitionnement de l'espace en intervalles
  contigus non chevauchant selon chaque
  dimension
     Construction de grilles multidimensionnelles
 Recherche ascendante de l’ensemble des
  cellules denses en commençant par les sous-
  espaces de dimension 1
 Génération des clusters à partir des régions
  denses avec descripteurs couvrants
                                                     64
Exemple

 Un groupe correspond à un
  ensemble de cellules
                                      7
  denses connexes                     6              **   *    *   **   *   *
                                      5          *   **   *    *   **
 Graphe d'adjacence                  4          ** ***   **   *
  considéré                           3      *   *** **   *
                                      2      *   *   *
      Un nœud correspond à une       1
       cellule dense                  0
                                           20 25 30 35 40 45 50 55 60
      Un arc existe entre deux
       nœuds si les cellules
       associées possèdent une face       D1 dense si >= 12% (4)
       commune                            D2 dense si >= 5% (2)

                                                                                65
Bilan

 Différents types de méthodes
      Méthodes par partitionnement
      Méthodes hiérarchique
      Méthodes basées densités
      Méthodes par grilles
      Méthodes mixtes, …
 Recherches en cours
      Passage à l'échelle
           échantillonnage, optimisation, indexation, mixages, …
      Prise en compte de contraintes
           connaissances utilisateur ou données
           objectifs utilisateur

                                                                    66

Weitere ähnliche Inhalte

Was ist angesagt?

Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisionsMariem Chaaben
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning Niji
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Mohamed Heny SELMI
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisinsBoris Guarisma
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-miningSawsen Larbi
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Alexis Seigneurin
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfZizoAziz
 
chapitre 1 régression simple.pdf
chapitre 1 régression simple.pdfchapitre 1 régression simple.pdf
chapitre 1 régression simple.pdfAnassFarkadi
 
Rapport kmeans
Rapport kmeans Rapport kmeans
Rapport kmeans Imen Turki
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian Lilia Sfaxi
 

Was ist angesagt? (20)

Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisions
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
Arbre de décision
Arbre de décisionArbre de décision
Arbre de décision
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisins
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Data Mining
Data MiningData Mining
Data Mining
 
Mahout clustering
Mahout clusteringMahout clustering
Mahout clustering
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-mining
 
Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
chapitre 1 régression simple.pdf
chapitre 1 régression simple.pdfchapitre 1 régression simple.pdf
chapitre 1 régression simple.pdf
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Rapport kmeans
Rapport kmeans Rapport kmeans
Rapport kmeans
 
Bi
BiBi
Bi
 
Règles d’association
Règles d’associationRègles d’association
Règles d’association
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
(Cours régression)
(Cours régression)(Cours régression)
(Cours régression)
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian
 

Andere mochten auch

K means Clustering
K means ClusteringK means Clustering
K means ClusteringEdureka!
 
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...Hajer Trabelsi
 
K mean-clustering algorithm
K mean-clustering algorithmK mean-clustering algorithm
K mean-clustering algorithmparry prabhu
 
Data clustering a review
Data clustering a reviewData clustering a review
Data clustering a reviewunyil96
 
Digital image classification22oct
Digital image classification22octDigital image classification22oct
Digital image classification22octAleemuddin Abbasi
 
Wearables and IoT Strategy
Wearables and IoT StrategyWearables and IoT Strategy
Wearables and IoT StrategyAllSeen Alliance
 
Chapitre 3 clustering
Chapitre 3 clusteringChapitre 3 clustering
Chapitre 3 clusteringAnis Masmoudi
 
מחדד הרעיונות - 7.4.2016 - 1 באפריל
מחדד הרעיונות - 7.4.2016 - 1 באפרילמחדד הרעיונות - 7.4.2016 - 1 באפריל
מחדד הרעיונות - 7.4.2016 - 1 באפרילLeo Burnett Israel
 
Social Media for Bowling Green
Social Media for Bowling GreenSocial Media for Bowling Green
Social Media for Bowling GreenKaty Miller
 
Social Media and Its Impact on SEO rankings
Social Media and Its Impact on SEO rankingsSocial Media and Its Impact on SEO rankings
Social Media and Its Impact on SEO rankingsWil Reynolds
 
Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...
Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...
Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...CincyInnovates
 
Nikon Small World 2016: Finalists
Nikon Small World 2016: FinalistsNikon Small World 2016: Finalists
Nikon Small World 2016: Finalistsmaditabalnco
 
Взаимовыгодная реклама - Осенние скидки
Взаимовыгодная реклама - Осенние скидкиВзаимовыгодная реклама - Осенние скидки
Взаимовыгодная реклама - Осенние скидкиmycasio
 

Andere mochten auch (20)

K means Clustering
K means ClusteringK means Clustering
K means Clustering
 
Cours cluster si2e
Cours cluster si2eCours cluster si2e
Cours cluster si2e
 
K means Clustering Algorithm
K means Clustering AlgorithmK means Clustering Algorithm
K means Clustering Algorithm
 
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
 
K mean-clustering algorithm
K mean-clustering algorithmK mean-clustering algorithm
K mean-clustering algorithm
 
5.5 Clustering
5.5 Clustering5.5 Clustering
5.5 Clustering
 
Data clustering a review
Data clustering a reviewData clustering a review
Data clustering a review
 
Digital image classification22oct
Digital image classification22octDigital image classification22oct
Digital image classification22oct
 
K-Means manual work
K-Means manual workK-Means manual work
K-Means manual work
 
Wearables and IoT Strategy
Wearables and IoT StrategyWearables and IoT Strategy
Wearables and IoT Strategy
 
Chapitre 3 clustering
Chapitre 3 clusteringChapitre 3 clustering
Chapitre 3 clustering
 
מחדד הרעיונות - 7.4.2016 - 1 באפריל
מחדד הרעיונות - 7.4.2016 - 1 באפרילמחדד הרעיונות - 7.4.2016 - 1 באפריל
מחדד הרעיונות - 7.4.2016 - 1 באפריל
 
MD. MOFIJUL ISLAM LinkedIN
MD. MOFIJUL ISLAM LinkedINMD. MOFIJUL ISLAM LinkedIN
MD. MOFIJUL ISLAM LinkedIN
 
Social Media for Bowling Green
Social Media for Bowling GreenSocial Media for Bowling Green
Social Media for Bowling Green
 
Social Media and Its Impact on SEO rankings
Social Media and Its Impact on SEO rankingsSocial Media and Its Impact on SEO rankings
Social Media and Its Impact on SEO rankings
 
Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...
Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...
Building a Sustainable Innovation from Scratch by Amanda Smeller of AdvancePi...
 
Nikon Small World 2016: Finalists
Nikon Small World 2016: FinalistsNikon Small World 2016: Finalists
Nikon Small World 2016: Finalists
 
شرح استدلالات غلط
شرح استدلالات غلطشرح استدلالات غلط
شرح استدلالات غلط
 
micromedios
micromediosmicromedios
micromedios
 
Взаимовыгодная реклама - Осенние скидки
Взаимовыгодная реклама - Осенние скидкиВзаимовыгодная реклама - Осенние скидки
Взаимовыгодная реклама - Осенние скидки
 

Ähnlich wie clustering

comprehension clustering CHA.pdf
comprehension clustering CHA.pdfcomprehension clustering CHA.pdf
comprehension clustering CHA.pdfMarckKerbergKouassi
 
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdftoaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdfPenielLoyi
 
melange de gaussienne
melange de gaussiennemelange de gaussienne
melange de gaussienneomri med
 
Clustering efficace avec les divergences de bregman
Clustering efficace avec les divergences de bregmanClustering efficace avec les divergences de bregman
Clustering efficace avec les divergences de bregmanMedalith Estrada
 
en analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdfen analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdfELHASSANEAJARCIF1
 
Intro_DeepLearning.pdf
Intro_DeepLearning.pdfIntro_DeepLearning.pdf
Intro_DeepLearning.pdfAmou5
 
Cours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdfCours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdfachrafelbouzidi2
 
Presentation - Automated Variable Weighting in k-Means Type Clustering
Presentation - Automated Variable Weighting in k-Means Type ClusteringPresentation - Automated Variable Weighting in k-Means Type Clustering
Presentation - Automated Variable Weighting in k-Means Type ClusteringFranck Dernoncourt
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
Les réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNLes réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNSALMARACHIDI1
 
Arbre de décision.pdf
Arbre de décision.pdfArbre de décision.pdf
Arbre de décision.pdfimane26
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 
Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04tarek1961moussa
 

Ähnlich wie clustering (20)

comprehension clustering CHA.pdf
comprehension clustering CHA.pdfcomprehension clustering CHA.pdf
comprehension clustering CHA.pdf
 
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdftoaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
 
melange de gaussienne
melange de gaussiennemelange de gaussienne
melange de gaussienne
 
Clustering efficace avec les divergences de bregman
Clustering efficace avec les divergences de bregmanClustering efficace avec les divergences de bregman
Clustering efficace avec les divergences de bregman
 
Comment faire disparaître les rides
Comment faire disparaître les ridesComment faire disparaître les rides
Comment faire disparaître les rides
 
en analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdfen analyse des composantes de donnees.pdf
en analyse des composantes de donnees.pdf
 
Intro_DeepLearning.pdf
Intro_DeepLearning.pdfIntro_DeepLearning.pdf
Intro_DeepLearning.pdf
 
Cours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdfCours Math Algèbre SMsssssss1 21-2222fsm.pdf
Cours Math Algèbre SMsssssss1 21-2222fsm.pdf
 
Presentation - Automated Variable Weighting in k-Means Type Clustering
Presentation - Automated Variable Weighting in k-Means Type ClusteringPresentation - Automated Variable Weighting in k-Means Type Clustering
Presentation - Automated Variable Weighting in k-Means Type Clustering
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Les réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNLes réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNN
 
Théorie des distributions
Théorie des distributionsThéorie des distributions
Théorie des distributions
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Arbre de décision.pdf
Arbre de décision.pdfArbre de décision.pdf
Arbre de décision.pdf
 
STATISTIQUE-Cours
STATISTIQUE-CoursSTATISTIQUE-Cours
STATISTIQUE-Cours
 
Controle de gestion
Controle de gestionControle de gestion
Controle de gestion
 
Comparaison
ComparaisonComparaison
Comparaison
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Cours c++
Cours c++Cours c++
Cours c++
 
Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04
 

clustering

  • 1. Groupement (Clustering)  Objectifs  Distances  Algorithmes  Méthodes par partitionnement  Méthodes hiérarchiques  Méthodes par densité  Méthodes par grilles
  • 2. 1. Objectifs et Définitions  Classification automatique d'objets  en se basant sur une mesure de similarité (ou distance) pour grouper les données  Buts :  Maximiser la similarité intra-classes et minimiser la similarité inter-classes.  Mesurer la distance en assimilant un tuple à un point dans un espace à n dimensions. 2
  • 3. Méthode non supervisée  Méthode permettant de découvrir les groupes (clusters) d'individus similaires  Application aux tables relationnelles  Formation de groupes de tuples (clusters) à partir d'une fonction de distance  On met ensemble les tuples les plus "proches"  On ne connaît pas les classes à priori  elles sont à découvrir automatiquement  Il est parfois possible d'en fixer le nombre 3
  • 4. Objectifs  Passage à l'échelle  espaces de grande dimension supportés  nombreux objets lus une seule fois en base  Robustesse  indépendance à l'ordre de parcours de la base  capacité à découvrir des groupes de toute forme  insensibilité aux points isolés (outliers)  insensibilité au bruit  Lisibilité  comment donner un sens aux résultats ?  comment interpréter les classes ? 4
  • 5. Similarité  Problèmes :  La notion de distance et d’appartenance à un groupe varie selon le domaine  Indice de similarité  S1) s est symétrique : s(w, w’) = s(w’, w)  S2) s(w, w) = s(w’, w’) > s(w, w’) C’est une constante supérieure : smax  Indice de disimilarité:  ne vérifie pas S2) mais S2’) ∀ w ∈ Ω, di(w, w) = 0 5
  • 6. Distance  Distance : indice de dissimilarité qui vérifie également :  (D1) d(w, w’) = 0 => w = w’  (D2) pour tout w, w’,w” de Ω, d(w, w’) ≤ d(w, w”) + d(w”, w’)  Indice de distance : indice de dissimilarité qui ne vérifie que (D1)  Ecart : indice de dissimilarité qui ne vérifie que (D2) /* inégalité triangulaire */ 6
  • 7. Distances (données numériques)  Distance euclidienne générale :  w1 et w2 sont deux points de coordonnées x1 et x2  S(x) désigne le transposé de x (coordonnées en ligne)  M est une matrice symétrique définie positive  d2(w1, w2) = S(x1 – x2) M (x1 – x2)  Distance du χ2 :  d2(w1, w2) = Σj=1,p (1/x.j) * (x1j / x1. – x2j/ x2.)2 avec x.j = Σi=1,n xij et xi. = Σj=1,p xij  Mesure l'indépendance entre les vecteurs w1 et w2 7
  • 8. Distances (données numériques)  Distance de Minkowsky :  d(w1, w2) = [ Σj=1p |x1j – x2j|λ ] 1/λ  pour λ = 1, on a les valeurs absolues (distance de Manhattan)  pour λ = 2, on a la distance euclidienne simple (M = I)  pour λ  +∞, on obtient la distance de Chebyshev (ultramétrique):  d(w1, w2) = Max j |x1j – x2j| 8
  • 9. Distances (données binaires)  On considère x1 et x2 deux vecteurs binaires :  Soit a le nombre de fois où x1j = x2j = 1  Soit b le nombre de fois où x1j = 0 et x2j = 1  Soit c le nombre de fois où x1j = 1 et x2j = 0  Soit d le nombre de fois où x1j = x2j = 0  Exemple de similarités souvent utilisées :  D1(x1, x2) = a / (a+b+c+d)  D2(x1, x2) = a / (a+b+c)  D3(x1, x2) = 2a / (2a+b+c)  D4(x1, x2) = a / (a+2(b+c))  D5(x1, x2) = (a+d) / (a+b+c+d) 9
  • 10. Distances (données qualitatives)  Similarités entre individus :  codage disjonctif complet; permet de se ramener à un tableau de variables binaires  utilise les notions des variables quantitatives (surtout χ2)  Similarités entre variables :  considère le tableau de contingence associé à deux variables v1 et v2 (comptage par catégorie)  permet de définir un similarité entre les variables.  Par exemple la valeur du χ2 de contingence peut-être utilisé comme similarité entre les variables. 10
  • 11. Notion de prototypes  Kleiber :  les frontières entre catégories sont floues  les exemplaires d’une catégorie ne présentent pas de propriétés communes à tous les membres ; c’est une ressemblance de famille qui les regroupe  l’appartenance à une catégorie s’effectue sur la base du degré de similarité avec le prototype  l’appartenance à une catégorie ne s’opère pas de façon analytique mais de façon globale 13
  • 12. Typicalité  Desclés :  Etudie les relations entre intention et extension d’un concept :  Ext(f) = {x; f(x) soit vrai} Int(f) = {g; f comprend g}  problème au niveau de la transitivité :  “autruche est oiseau” + “oiseau volent” => “autruche vole” ?  Finalement : la dualité ne tient que pour les prototypes et les occurrences typiques  Différence entre degré d’appartenance et degré de typicalité :  “l’autruche est un oiseau mais n’est pas typique de la classe oiseau”  Calcul du degré de typicalité :  “un objet est d’autant plus typique qu’il ressemble beaucoup aux membres de sa classe et qu’il est très différent des membres des autres classes.” 14
  • 13. Principales Méthodes (1)  Méthodes par partitionnement:  Construire k partitions et les corriger jusqu'à obtenir une similarité satisfaisante  k-means, k-medoids, CLARANS  Méthodes hiérarchiques:  Créer une décomposition hiérarchique par agglomération ou division de groupes similaires ou dissimilaires  AGNES, DIANA, BIRCH, CURE, ROCK, … 15
  • 14. Principales Méthodes (2)  Méthodes par densité:  Grouper les objets tant que la densité de voisinage excède une certaine limite  DBSCAN, OPTICS, DENCLUE  Méthodes par grille:  Diviser l'espace en cellules formant une grille multi-niveaux et grouper les cellules voisines en terme de distance  STING, WaveCluster, CLIQUE  Méthodes par modèle:  Modéliser les groupes et utiliser le modèle pour classer les points  COBWEB, Neural Networks 16
  • 15. 2. Méthodes par Partition  N objets sont classés en k-partitions  Construire k partitions et les corriger jusqu'à obtenir une similarité satisfaisante  Optimisation d'une fonction d'objectif  similarité inter-classe  k-means, k-medoids en mémoire  compression possible  CLARANS pour les BD 17
  • 16. 2.1 K-Means  Méthode des K-moyennes (MacQueen’67)  choisir K éléments initiaux "centres" des K groupes  placer les objets dans le groupe de centre le plus proche  recalculer le centre de gravité de chaque groupe  itérer l'algorithme jusqu'à ce que les objets ne changent plus de groupe  Encore appelée méthode des centres mobiles 18
  • 17. Algorithme  Étapes:  fixer le nombre de clusters: k  choisir aléatoirement k tuples comme graines (centres)  assigner chaque tuple à la graine la plus proche  recalculer les k graines  tant que des tuples ont été changés  réassigner les tuples  recalculer les k graines  C'est l'Algorithme le plus utilisé 19
  • 18. Exemple de K-Means (k=2) Choisir 2 graines Assigner les tuples Recalculer les centroïdes Réassigner les tuples 20
  • 19. Trajectoire des centres Trajectoires des 3 centres d’un nuage de points bidimensionnel Les hyperplans séparateurs entre les classes 21
  • 20. Autre exemple (1)  27-51-52-33-45-22-28-44-40-38-20-57  K=3  distance = différence/amplitude maximum 27 51 52 33 45 22 28 44 40 38 20 57 Graine 27 0.00 0.65 0.68 0.16 0.49 0.14 0.03 0.46 0.35 0.30 0.19 0.81 Graine 51 0.65 0.00 0.03 0.49 0.16 0.78 0.62 0.19 0.30 0.35 0.84 0.16 Graine 52 0.68 0.03 0.00 0.51 0.19 0.81 0.65 0.22 0.32 0.38 0.86 0.14 Minimum 0 0 0 0.16 0.16 0.14 0.03 0.19 0.3 0.3 0.19 0.14 Affectation 1 2 3 1 2 1 1 2 2 1 1 3  Cluster 1 : 27 - 33 - 22 - 28 - 38 - 20  Cluster 2 : 51 - 45 - 44 - 40  Cluster 3 : 52 - 57 22
  • 21. Suite exemple (2) 27 51 52 33 45 22 28 44 40 38 20 57 Graine 28 0.03 0.62 0.65 0.14 0.46 0.16 0 0.43 0.32 0.27 0.22 0.78 Graine 45 0.49 0.16 0.19 0.32 0 0.62 0.46 0.03 0.14 0.19 0.68 0.32 Graine 54.5 0.74 0.09 0.07 0.58 0.26 0.88 0.72 0.28 0.39 0.45 0.93 0.07 Minimum 0.03 0.09 0.07 0.14 0 0.16 0 0.03 0.14 0.19 0.22 0.07 Affectation 1 3 3 1 2 1 1 2 2 2 1 3  Cluster 1:  27 - 33 - 22 - 28 - 20 Jeunes majeurs - Centre = 26  Cluster 2:  45 - 44 - 40 - 38 Quadragénaires - Centre = 41.75  Cluster 3:  51 - 52 - 57 Quinquagénaires - Centre = 53.33 23
  • 22. Faiblesse  Mauvaise prise en compte des "outliers"  points extrêmes en dehors des groupes  fausses les moyennes et donc les centres  Convergence plus ou moins rapide  Amélioration:  utilisation de points centraux (médoïdes) 24
  • 23. 2.2 k-Médoïds  Kaufman & Rousseeuw’87  Les centres sont des points effectifs  recherche de centres approchés des groupes  calculés par substitution aléatoire:  choix aléatoire d'un nouveau centre  calcul de la différence en distance des points  substitution si la différence est négative  essai de tous les couples (x,y) de chaque groupe  l'un est centre, l'autre non 25
  • 24. Forces et faiblesses  Connue sous le nom PAM  Partitioning Around Medoids  Beaucoup plus coûteuse que K-Means  Plus de calculs  Plus robuste que k-means  Plus insensible aux "outliers" 26
  • 25. 2.3 CLARA et CLARANS  CLARA (Clustering LARge Applications)  Kaufmann and Rousseeuw 1990  Tire des petits échantillons successifs de la base  exemple: 5 de 40 points  Applique PAM à chaque échantillon  isole les médoids  retourne le meilleur clustering  La qualité d'un clustering est mesurée par la dissimilarité des objets de chaque partition sur toute la base 27
  • 26. CLARANS (1)  A Clustering Algorithm based on Randomized Search  Ng and Han’94  Recherche d'un échantillon représentatif  Exploration d'un graphe où chaque nœud correspond à un ensemble de k médoids solution  Deux nœuds sont voisins s'ils différent d'un seul médoid 28
  • 27. CLARANS (2)  Chaque nœud est affecté d'un coût mesurant la dissimilarité totale des points avec le médoid de leur cluster  Il s'agit de rechercher le point de coût minimum du graphe  Algorithme de type "branch and bound"  A chaque étape, les voisins du nœuds courant sont évalués; celui correspondant à la descente maximum du coût est retenu comme solution suivante  Plus efficace que CLARA et résultats meilleurs 29
  • 28. 3. Méthodes hiérarchiques  Créer une décomposition hiérarchique en groupes (clusters)  par agglomération de groupes similaires  par division de groupes dissimilaires  AGNES, DIANA, BIRCH, CURE, ROCK, Cameleon 30
  • 29. 3.1 Agglomération - Principe  Etapes :  Chaque individu représente un groupe  Trouver les deux groupes les plus proches  Grouper ces deux groupes en un nouveau groupe  Itérer jusqu'à N groupes 31
  • 31. Variante  Calculer les distances de tous les points deux à deux.  Associer tous les points dont la distance ne dépasse pas un seuil.  Calculer le centre de chaque cluster.  Répéter le processus avec les centres et un nouveau seuil jusqu ’à l’obtention du nombre de cluster souhaité. 33
  • 32. Exemple (1)  Points 27 - 51 - 52 - 33 - 45 - 22 - 28 - 44 - 40 - 38 - 20 - 57  distance = |p1-p2| / E(pi) ; seuil = 10 % 27 51 52 33 45 22 28 44 40 38 20 57 27 0.00 0.65 0.68 0.16 0.49 0.14 0.03 0.46 0.35 0.30 0.19 0.81 51 0.65 0.00 0.03 0.49 0.16 0.78 0.62 0.19 0.30 0.35 0.84 0.16 52 0.68 0.03 0.00 0.51 0.19 0.81 0.65 0.22 0.32 0.38 0.86 0.14 33 0.16 0.49 0.51 0.00 0.32 0.30 0.14 0.30 0.19 0.14 0.35 0.65 45 0.49 0.16 0.19 0.32 0.00 0.62 0.46 0.03 0.14 0.19 0.68 0.32 22 0.14 0.78 0.81 0.30 0.62 0.00 0.16 0.59 0.49 0.43 0.05 0.95 28 0.03 0.62 0.65 0.14 0.46 0.16 0.00 0.43 0.32 0.27 0.22 0.78 44 0.46 0.19 0.22 0.30 0.03 0.59 0.43 0.00 0.11 0.16 0.65 0.35 40 0.35 0.30 0.32 0.19 0.14 0.49 0.32 0.11 0.00 0.05 0.54 0.46 38 0.30 0.35 0.38 0.14 0.19 0.43 0.27 0.16 0.05 0.00 0.49 0.51 20 0.19 0.84 0.86 0.35 0.68 0.05 0.22 0.65 0.54 0.49 0.00 1.00 57 0.81 0.16 0.14 0.65 0.32 0.95 0.78 0.35 0.46 0.51 1.00 0.00 51 52 27 28 44 45 38 40 20 22 33 57 34
  • 33. Exemple (2)  Nouveaux centres  27.5 - 51.5 - 33 - 44.5 - 21 - 39 - 57  seuil = 20 % 27.5 51.5 33 44.5 21 39 57 27.5 0.00 0.67 0.15 0.47 0.18 0.32 0.82 51.5 0.67 0.00 0.51 0.19 0.85 0.35 0.15 33 0.15 0.51 0.00 0.32 0.33 0.17 0.67 44.5 0.47 0.19 0.32 0.00 0.65 0.15 0.35 21 0.18 0.85 0.33 0.65 0.00 0.50 1.00 39 0.32 0.35 0.17 0.15 0.50 0.00 0.50 57 0.82 0.15 0.67 0.35 1.00 0.50 0.00 20 22 27 28 33 38 40 44 45 51 52 57 35
  • 35. Règles de liens  Distance des objets les plus proches  tendance à former des chaînes  Distance des objets les plus éloignés  bonne méthode pour des grappes  Distance des centres  faible résistance aux "outliers"  Distance moyenne  plus difficile à calculer 37
  • 36. 3.2 DIANA  DIvide ANAlysis  Kaufmann and Rousseeuw (1990)  Méthode par division récursive  Tous les objets sont placés dans une cluster  Divise de manière hiérarchique les clusters  selon un critère de dispersion des objets  e.g., celle(s) dont les objets les plus proches sont les plus éloignés  Stoppe quand le nombre de clusters est atteint ou les clusters contiennent 1 seul objet 38
  • 37. Exemple  Possibilité d'utiliser un seuil de distance 39
  • 38. 3.3 BIRCH  Balanced Iterative Reducing and Clustering using Hierarchies  Zhang, Ramakrishnan, Livny (SIGMOD’96)  Par division, incrémentale en une passe  Sauvegarde les informations de clustering dans un arbre balancé  Chaque entrée de l'arbre décrit une cluster  Les nouveaux nœuds sont insérés sous l'entrée la plus proche 40
  • 39. Arbre de clustering  CF (N,LS,SS) = Clustering Feature  N: Nombre de points dans la cluster = Moment 0  LS: Somme des points dans la cluster = Moment 1  SS: Somme des carrés des points dans la cluster = Mo. 2  CF Tree  Arbre de recherche équilibré (proche B-tree)  Un noeud mémorise la somme des CF de chaque fils  Les feuilles représentent les clusters  mémorise les CF des clusters  possède un diamètre maximum (seuil) 41
  • 40. Construction incrémentale  Phase 1:  parcours de la base pour construire un CF-tree initial en mémoire  une feuille est éclatée quand le seuil de diamètre est dépassé  les moments sont alors remontés aux nœuds internes  Permet d'obtenir un résumé comprimé de la base respectant les caractéristiques de groupage 42
  • 42. Phase 2: Amélioration des clusters  Si l'arbre ne tient pas en mémoire, augmenter le seuil de diamètre  Etape 2 optionnelle :  Appliquer un algorithme de clustering en mémoire aux nœuds feuilles du CF tree, chaque nœud étant traité comme un point  Placer les points dans la cluster de centre le plus proche 44
  • 43. Forces et Faiblesses  Passe à l'échelle avec un grand nombre d'objets  Trouve un bon clustering en une passe et permet d'améliorer ensuite  Marche mieux avec des groupes sphériques  utilisation du diamètre des clusters 45
  • 44. 3.4 CURE  Groupe en utilisant des représentants  Utilise un nombre fixe de points pour représenter un groupe  Les points sont choisis:  1) en choisissant des points écartés  2) en les déplaçant vers le centre du groupe  A chaque étape, les 2 groupes ayant les représentants les plus proches sont fusionnés 46
  • 47. Application aux larges BD  Tirer un échantillon  Diviser l'échantillon en p partitions de q points  Grouper les points partiellement dans chaque partition  Enlever les outliers basés sur la taille des groupes  Terminer le clustering de l'échantillon  Grouper la base entière en classant chaque point dans le groupe de son représentant le plus proche 49
  • 48. Cure : Forces et Faiblesses  S'adapte bien à la géométrie des clusters  représentant multiples  déplacement du bord vers le centre des représentants  Philosophie pour passer à l'échelle 50
  • 49. 4. Méthodes par densité  Principe  Utilisation de la densité à la place de la distance  Un point est voisin d'un autre point s'il est à une distance inférieure à une valeur fixée  Un point est dense si le nombre de ses voisins dépasse un certain seuil 51
  • 50. Points denses  q est dense, mais pas p 52
  • 51. DBSCAN  La découverte d’un groupe se déroule en 2 étapes  choisir aléatoirement un point dense  tous les points qui sont atteignables à partir de ce point, selon le seuil de densité, forment un groupe 53
  • 53. Exemple  on commence par o, ce cluster contient p, q, etc. 55
  • 54. Comparaison K-means et DBSCAN Résultat de K-means Résultat de Density 56
  • 55. OPTICS  DBSCAN nécessite 2 paramètres  Epsilon = rayon de voisinage (distance max)  MinPts = seuil de densité (nombre min)  difficiles à fixer, changent les résultats  OPTICS  effectue le clustering pour plusieurs valeurs du rayon de voisinage Epsilon simultanément  calcul un ordre de clustering représentant la structure de densité des données 57
  • 56. Caractéristiques d'un objet  Core-distance  plus petite distance le rendant dense (min Eps)  indéfinie si non dense  Reachability-distance de q vers p  max(core-distance de p, dist(p,q))  L'algorithme  crée une liste ordonnée des Eps pour tous les objets  applique les DBSCAN en parallèle selon cette liste 58
  • 57. Forces et Faiblesses  Performance similaire à DBSCAN  O(n log n)  Nécessite un index spatial  Pas de Epsilon à choisir  Autre méthode : DENCLUE  modélisation analytique de l'influence d'un point et de l'espace des points  basée sur des principes mathématiques solides 59
  • 58. 5. Méthodes par Grilles  Principes  Diviser l'espace en cellules formant une grille et grouper les cellules voisines en terme de distance  STING, WaveCluster, CLIQUE Salaire 39 ** ** 7 * 38 ** ** 6 ** ** * * * * 37 36 ** ** 5 * ** ** ** ** 35 * ** ** 34 ** *** *** 4 ** *** *** * 33 * *** ** ** 3 * *** ** ** 32 ** * * 31 2 ** * * 30 1 35 36 37 38 39 0 20 25 30 35 40 45 50 55 60 Niveau N-1 Age Niveau N 60
  • 59. Caractéristiques de chaque cellule  min (minimum)  max (maximum)  count  m (mean)  s (standard deviation)  distribution (normale, uniform, exponentielle, …)  Ceux de niveaux N se calculent à partir de ceux de niveau (N-1) 61
  • 60. STING  STING détermine les clusters comme les cellules denses connectées de la grille  Affinages successifs par niveau:  Pour chaque cellule du niveau courant, STING calcul l'intervalle de probabilité que des sous- cellules soient denses  Les cellules non relevantes sont éliminées  Processus répété jusqu'au niveau le plus bas 62
  • 61. CLIQUE  Méthode mixte Grille & Densité  Principe de base:  Dans un sous-espace donné, une cellule est dense si le pourcentage d’objets qu’elle contient est supérieur à un seuil donné  Tout sous-espace d'un espace dense est dense  On recherche les sous-espaces denses de dimension (k- 1), puis on les intersecte pour former les sous-espaces candidats de dimension k  Sorte de généralisation de Apriori à N dimensions 63
  • 62. CLIQUE  Partitionnement de l'espace en intervalles contigus non chevauchant selon chaque dimension  Construction de grilles multidimensionnelles  Recherche ascendante de l’ensemble des cellules denses en commençant par les sous- espaces de dimension 1  Génération des clusters à partir des régions denses avec descripteurs couvrants 64
  • 63. Exemple  Un groupe correspond à un ensemble de cellules 7 denses connexes 6 ** * * ** * * 5 * ** * * **  Graphe d'adjacence 4 ** *** ** * considéré 3 * *** ** * 2 * * *  Un nœud correspond à une 1 cellule dense 0 20 25 30 35 40 45 50 55 60  Un arc existe entre deux nœuds si les cellules associées possèdent une face D1 dense si >= 12% (4) commune D2 dense si >= 5% (2) 65
  • 64. Bilan  Différents types de méthodes  Méthodes par partitionnement  Méthodes hiérarchique  Méthodes basées densités  Méthodes par grilles  Méthodes mixtes, …  Recherches en cours  Passage à l'échelle  échantillonnage, optimisation, indexation, mixages, …  Prise en compte de contraintes  connaissances utilisateur ou données  objectifs utilisateur 66