SlideShare una empresa de Scribd logo
1 de 52
Regroupement

 (clustering)




                1
C’est quoi ?

   Regroupement (Clustering): construire une
    collection d’objets
      Similaires au sein d’un même groupe

      Dissimilaires quand ils appartiennent à des

       groupes différents
   Le Clustering est de la classification non
    supervisée: pas de classes prédéfinies
Qu’est ce qu’un bon regroupement ?

   Une bonne méthode de regroupement permet de
    garantir
       Une grande similarité intra-groupe
       Une faible similarité inter-groupe
   La qualité d’un regroupement dépend donc de la
    mesure de similarité utilisée par la méthode et
    de son implémentation


                                             3
Structures de données

                             x11   ...   x1f    ...   x1p 
   Matrice de données      
                             ...   ...    ...   ...
                                                            
                                                        ... 
                            x      ...   xif    ...   xip 
                             i1                            
                             ...   ...  ...     ...    ... 
                            x      ... xnf      ...   xnp 
                             n1
                                                           
                                                            

   Matrice de similarité    0                              
                             d(2,1)      0                  
                                                            
                             d(3,1) d ( 3,2) 0              
                                                            
                             :           :     :            
                            d ( n,1) d ( n,2) ...
                                                       ... 0
                                                             

                                                           4
Mesurer la qualité d’un clustering

   Métrique pour la similarité: La similarité est
    exprimée par le biais d’une mesure de distance
   Une autre fonction est utilisée pour la mesure de
    la qualité
   Les définitions de distance sont très différentes
    que les variables soient des intervalles
    (continues), catégories, booléennes ou ordinales
   En pratique, on utilise souvent une pondération
    des variables


                                             5
Types des variables


   Intervalles:
   Binaires:
   catégories, ordinales, ratio:
   Différents types:




                                         6
Intervalle (discrètes)
   Standardiser les données
       Calculer l’écart absolu moyen:
          s f = 1 (| x1 f − m f | + | x2 f − m f | +...+ | xnf − m f |)
                n
    où            m f = 1 (x1 f + x2 f    + ... +   xnf )
                        n                               .




       Calculer la mesure standardisée (z-score)
                                   xif − m f
                             zif =     sf
                                                                  7
Exemple
            Age   Salaire     M     Age    = 60      S   Age       = 5
Personne1    50    11000
Personne2    70    11100     M   salaire   = 11074       S   salaire   = 148
Personne3    60    11122
Personne4    60    11074



                              Age             Salaire
              Personne1        -2               -0,5
              Personne2        2               0,175
              Personne3        0               0,324
              Personne4        0                 2

                                                               8
Similarité entre objets

   Les distances expriment une similarité
   Ex: la distance de Minkowski :

    d (i, j) = q (| x − x |q + | x − x |q +...+ | x − x |q )
                     i1  j1       i2  j2           ip  jp

     où i = (xi1, xi2, …, xip) et j = (xj1, xj2, …, xjp) sont deux objets
       p-dimensionnels et q un entier positif
   Si q = 1, d est la distance de Manhattan
                   d (i, j) =| x − x | + | x − x | + ...+ | x − x |
                                i1 j1 i2 j 2                 ip jp

                                                                      9
Similarité entre objets(I)
   Si q = 2, d est la distance Euclidienne :


    d (i, j) = (| x − x |2 + | x − x |2 +...+ | x − x |2 )
                   i1  j1       i2  j2           ip  jp


       Propriétés
            d(i,j) ≥ 0
            d(i,i) = 0
            d(i,j) = d(j,i)
            d(i,j) ≤ d(i,k) + d(k,j)
                                                      10
Exemple: distance de Manhattan
            Age   Salaire
                                        d(p1,p2)=120
Personne1    50    11000
Personne2    70    11100                d(p1,p3)=132
Personne3    60    11122     Conclusion: p1 ressemble plus
Personne4    60    11074     à p2 qu’à p3 


            Age   Salaire
Personne1    -2     -0,5                d(p1,p2)=4,675
Personne2    2     0,175                d(p1,p3)=2,324
Personne3    0     0,324
                            Conclusion: p1 ressemble
Personne4    0       0
                            plus à p3 qu’à p2 
                                               11
Variables binaires

    Une table de contingence pour données binaires
                    Objet j
                                     a= nombre de positions
                1       0     sum
                                     où i a 1 et j a 1
           1    a       b     a +b
Objet i    0    c     d       c+d
          sum a + c b + d      p



    Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1)
 a=1, b=2, c=1, d=2

                                                   12
Mesures de distances
   Coefficient d’appariement (matching) simple
    (invariant pour variables symétriques):
                 d (i, j) =     b +c
                            a +b +c +d

Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1)

d(oi, oj)=3/5
                               d (i, j) =     b +c
   Coefficient de Jaccard                  a +b +c
d(oi, oj)=3/4

                                               13
Variables binaires (I)
   Variable symétrique: Ex. le sexe d’une personne, i.e
    coder masculin par 1 et féminin par 0 c’est pareil que le
    codage inverse

   Variable asymétrique: Ex. Test HIV. Le test peut être
    positif ou négatif (0 ou 1) mais il y a une valeur qui sera
    plus présente que l’autre. Généralement, on code par 1
    la modalité la moins fréquente
      2 personnes ayant la valeur 1 pour le test sont plus

       similaires que 2 personnes ayant 0 pour le test




                                                     14
Variables binaires(II)
   Exemple
         Nom    Sexe    Fièvre   Toux       Test-1   Test-2   Test-3   Test-4
         Jack   M       Y        N          P        N        N        N
         Mary   F       Y        N          P        N        P        N
         Jim    M       Y        P          N        N        N        N

   Sexe est un attribut symétrique
   Les autres attributs sont asymétriques
   Y et P ≡ 1, N ≡ 0, la distance n’est mesurée que sur les asymétriques
                                             0 + 1
       d(jack, mary)             =                               =0.33
                                        2    + 0 + 1
                                1 + 1
       d(jack,       jim)    =                                =0.67
                              1 + +
                                  1   1
                                    1 + 2
       d(jim, mary)              =                            =0.75
                                  1 + +
                                      1   2


Les plus similaires sont Jack et Mary⇒atteints du même mal
                                                   15
Variables Nominales


   Une généralisation des variables binaires, ex: rouge, vert
    et bleu
   Méthode 1: Matching simple
       m: # d’appariements, p: # total de variables
                                p −m
                      d (i, j) = p

   Méthode 2: utiliser un grand nombre de variables binaires
       Créer une variable binaire pour chaque modalité (ex:
        variable rouge qui prend les valeurs vrai ou faux)

                                                       16
Variables Ordinales

   Une variable ordinale peut être discrète ou continue
   L’ordre peut être important, ex: classement
   Peuvent être traitées comme les variables intervalles
      remplacer x par son rang     rif ∈ 1,..., M f }
                                         {
                    if

       Remplacer le rang de chaque variable par une valeur
        dans [0, 1] en remplaçant la variable f dans l’objet I par
                                     rif − 1
                             zif =
                                    Mf −     1
       Utiliser une distance pour calculer la similarité


                                                        17
En Présence de Variables de différents
    Types
    Pour chaque type de variables utiliser une mesure
     adéquate. Problèmes: les clusters obtenus peuvent être
     différents
    On utilise une formule pondérée pour faire la
     combinaison
                                                          Σ =1δ f ) d ij f )
                                                             p   (     (
                                           d (i, j ) = f p ij ( f )
       f est binaire ou nominale:
                                                             Σ =1δ
                                                               f   ij

          dij(f) = 0 si xif = xjf , sinon dij(f) = 1
       f est de type intervalle: utiliser une distance

         normalisée
       f est ordinale
                                                   zif = r −1
                                                    if

           calculer les rangs r et
                                        if
                                                        M −1
                                                         f


           Ensuite traiter z comme une variable de type
                                     if
             intervalle
                                                                18
Approches de Clustering
   Algorithmes de Partitionnement: Construire plusieurs
    partitions puis les évaluer selon certains critères
   Algorithmes hiérarchiques: Créer une décomposition
    hiérarchique des objets selon certains critères
   Algorithmes basés sur la densité: basés sur des notions de
    connectivité et de densité
   Algorithmes de grille: basés sur un structure à multi-
    niveaux de granularité
   Algorithmes à modèles: Un modèle est supposé pour
    chaque cluster ensuite vérifier chaque modèle sur chaque
    groupe pour choisir le meilleur
                                                          19
Algorithmes à partionnement
   Construire une partition à k clusters d’une base D de n
    objets
   Les k clusters doivent optimiser le critère choisi
       Global optimal: Considérer toutes les k-partitions
       Heuristic methods: Algorithmes k-means et k-medoids
       k-means (MacQueen’67): Chaque cluster est
        représenté par son centre
       k-medoids or PAM (Partition around medoids)
        (Kaufman & Rousseeuw’87): Chaque cluster est
        représenté par un de ses objets



                                                         20
La méthode des k-moyennes (K-Means)
    L’algorithme k-means est en 4 étapes :

    1.   Choisir k objets formant ainsi k clusters

    2.   (Ré)affecter chaque objet O au cluster Ci de
         centre Mi tel que dist(O,Mi) est minimal


    3.   Recalculer Mi de chaque cluster (le barycentre)


    4.   Aller à l’étape 2 si on vient de faire une
         affectation


                                                      21
K-Means :Exemple
   A={1,2,3,6,7,8,13,15,17}. Créer 3 clusters à partir de A

   On prend 3 objets au hasard. Supposons que c’est 1, 2 et 3.



   Chaque objet O est affecté au cluster au milieu duquel, O

         On a C1={1}, M1=1,
                 C2={2}, M2=2
                 C3={3, 6,7,8,13,15,17}, M3=69/7=9.86



                                                        22
K-Means :Exemple (suite)
   dist(3,M2)<dist(3,M3)3 passe dans C2. Tous les autres objets ne bougent
    pas. C1={1}, M1=1, C2={2,3}, M2=2.5,C3={6,7,8,13,15,17} et M3= 66/6=11

   dist(6,M2)<dist(6,M3)6 passe dans C2. Tous les autres objets ne bougent
    pas. C1={1}, M1=1, C2={2,3,6}, M2=11/3=3.67, C3={7,8,13,15,17}, M3= 12

   dist(2,M1)<dist(2,M2)2 passe en C1. dist(7,M2)<dist(7,M3) 7 passe en
    C2. Les autres ne bougent pas. C1={1,2}, M1=1.5, C2={3,6,7}, M2=5.34,
    C3= {8,13,15,17}, M3=13.25

   dist(3,M1)<dist(3,M2)3 passe en 1. dist(8,M2)<dist(8,M3)8 passe en 2
    C1={1,2,3}, M1=2, C2={6,7,8}, M2=7, C3={13,15,17}, M3=15

                              Plus rien ne bouge

                                                               23
Algorithme K-Means
   Exemple
        10                                                                                10

        9                                                                                 9

        8                                                                                 8

        7                                                                                 7

        6                                                                                 6

        5                                                                                 5

        4                                                                                 4

        3                                                                                 3

        2                                                                                 2

        1                                                                                 1

        0                                                                                 0
             0       1       2       3       4       5       6       7       8   9   10        0       1       2       3       4       5       6   7   8   9   10




         10                                                                                10

             9                                                                                 9

             8                                                                                 8

             7                                                                                 7

             6                                                                                 6

             5                                                                                 5

             4                                                                                 4

                                                                                               3
             3
                                                                                               2
             2
                                                                                               1
             1
                                                                                               0
             0
                                                                                                   0       1       2       3       4       5       6   7   8   9    10
                 0       1       2       3       4       5       6       7   8   9   10

                                                                                                                                                               24
Commentaires sur la méthode des K-Means
   Force
      Relativement efficace: O(tkn), où n est # objets, k est #

       clusters, et t est # itérations. Normalement, k, t << n.
      Tend à réduire
                                      k
                         E = ∑∑                     p − mi
                                                             2

   Faiblesses                     i =1
                                          p∈   Ci
      N’est pas applicable en présence d’attributs qui ne sont

       pas du type intervalle (moyenne=?)
      On doit spécifier k (nombre de clusters)

      Les clusters sont construits par rapports à des objets

       inexistants (les milieux)
      Ne peut pas découvrir les groupes non-convexes




                                                       25
La méthode des K-Medoids (PAM)

   Trouver des objets représentatifs (medoïdes)
    dans les clusters (au lieu de la moyenne)
   Principe
       Commencer avec un ensemble de medoïdes
        puis itérativement remplacer un par un autre si
        ça permet de réduire la distance globale

       Efficace pour des données de petite taille


                                              26
Algorithme des k-Medoides
Choisir arbitrairement k medoides
Répéter
  affecter chaque objet restant au medoide le plus proche
  Choisir aléatoirement un non-medoide Or
  Pour chaque medoide Oj
      Calculer le coût TC du remplacement de Oj par Or
      Si TC < 0 alors
            Remplacer Oj par Or
             Calculer les nouveaux clusters
      Finsi
  FinPour
Jusqu’à ce ce qu’il n’y ait plus de changement
                                                  27
PAM (Partitioning Around Medoids) (1987)


Choisir arbitrairement k objets représentatifs
     Pour toute paire (h,j) d’objets t.q h est choisi et
      j non, calculer le coût TC jh du remplacement
      de j par h
          Si TCih < 0, j est remplacé par h
          Puis affecter chaque objet non sélectionné
           au medoïde qui lui est le plus similaire
     Répéter jusqu’à ne plus avoir de changements
                                               28
La méthode des K-Medoids
   TCjh représente le gain en distance globale que
    l’on va avoir en remplaçant h par j

   Si TCjh est négatif alors on va perdre en distance.
    Ca veut dire que les clusters seront plus
    compacts.

   TCjh=Σi dist(j,h)-dist(j,i)= Σi Cijh



                                                29
La méthode des K-Medoids: Exemple
   Soit A={1,3,4,5,8,9}, k=2 et M={1,8} ensemble des medoides
    C1={1,3,4} et C2={5,8,9}
    E{1,8}=dist(3,1)2+dist(4,1)2+dist(5,8)2+dist(5,9)2+dist(9,8)2=39

   Comparons 1 et 3M={3,8}C1={1,3,4,5} et C2={8,9}
    E{3,8} =dist(1,3)2+dist(4,3)2+dist(5,3)2+dist(9,8)2=10
    E {3,8} - E{1,8}= -29 <0 donc le remplacement est fait.

   Comparons 3 et 4 M={4,8} C1 et C2 inchangés et
    E{4,8}=dist(1,4)2+dist(3,4)2+dist(5,4)2+dist(8,9)2= 12 3 n’est pas
    remplacé par 4
   Comparons 3 et 5M={5,8} C1 et C2 inchangés et E{5,8}>E{3,8}




                                                                 30
PAM Clustering: TCih=∑jCjih
      10                                                             10

       9                                                             9
                                                                                                      j
       8
                   t                                                 8                t
       7                                                             7

       6

       5
                                                   j                 6

                                                                     5

       4
                                       i           h                 4
                                                                                                                      h
       3                                                             3
                                                                                                                      i
       2                                                             2

       1                                                             1

       0                                                             0
           0   1   2   3   4       5       6   7       8   9   10         0   1   2       3       4       5       6           7       8       9       10




      Cjih = d(j, h) - d(j, i)                                      Cjih = 0

                                                                     10
      10

                                                                      9
       9

       8
                   h                                                  8



                                       j
                                                                      7
       7
                                                                      6
       6

       5
                                                                      5                       i
                               i                                                                                      h                       j
                                           t
                                                                      4
       4

                                                                      3
       3

       2
                                                                      2
                                                                                                                          t
                                                                      1
       1
                                                                      0
       0
                                                                          0   1   2       3       4           5       6           7       8       9    10
           0   1   2   3   4       5       6   7       8   9   10




     Cjih = d(j, t) - d(j, i)                                       Cjih = d(j, h) - d(j, t)
                                                                                          31
Clustering Hiérarchique

   Utiliser la matrice de distances comme critère de
    regroupement. k n’a pas à être précisé, mais a besoin
    d’une condition d’arrêt
        Etape   Etap   Etap   Etap   Etap
        0       e1     e2     e3     e4
                                            agglomerative
                                              (AGNES)
        a       ab
        b                        abcde
        c
                              cde
        d
                       de
        e
                                             divisive
        Etap    Etap   Etap   Etap   Etap    (DIANA)
        e4      e3     e2     e1     e0              32
AGNES (Agglomerative Nesting)
    Utilise la matrice de dissimilarité.
    Fusionne les nœuds qui ont la plus faible dissimilarité
    On peut se retrouver dans la situation où tous les nœuds
     sont dans le même groupe


    10
                                                      10                                                10
    9
                                                      9                                                 9
    8
                                                      8                                                 8

    7
                                                      7                                                 7

    6
                                                      6                                                 6

    5
                                                      5                                                 5

    4                                                 4                                                 4

    3                                                 3                                                 3

    2                                                 2                                                 2

    1                                                 1                                                 1

    0                                                 0                                                 0
         0   1   2   3   4   5   6   7   8   9   10        0   1   2   3   4   5   6   7   8   9   10        0   1   2   3   4   5   6   7   8   9   10




                                                                                                                         33
DIANA (Divisive Analysis)

        L’ordre inverse de celui d’AGNES
        Il se peut que chaque objet forme à lui seul un
         groupe




                                                                                                                                                     10
    10
                                                      10




                                                                                                                                                     9
    9
                                                      9




                                                                                                                                                     8
    8
                                                      8




                                                                                                                                                     7
    7
                                                      7




                                                                                                                                                     6
    6
                                                      6

    5




                                                                                                                                                     5
                                                      5
    4
                                                      4




                                                                                                                                                     4
    3
                                                      3




                                                                                                                                                     3
    2
                                                      2




                                                                                                                                                     2
    1
                                                      1




                                                                                                                                                     1
    0
                                                      0
         0   1   2   3   4   5   6   7   8   9   10
                                                           0   1   2   3   4   5   6   7   8   9   10




                                                                                                                                                     0
                                                                                                             9

                                                                                                                 8

                                                                                                                     7

                                                                                                                         6

                                                                                                                             5

                                                                                                                                 4
                                                                                                        10




                                                                                                                                     3

                                                                                                                                         2

                                                                                                                                             1

                                                                                                                                                 0
                                                                                                                                     34
Critères de fusion-éclatement
     Exemple: pour les méthodes agglomératives,
      C1 et C2 sont fusionnés si
       il existe o1 ∈ C1 et o2∈ C2 tels que
Lien
unique dist(o1,o2) ≤ seuil, ou
       il n’existe pas o1 ∈ C1 et o2∈ C2 tels que

        dist(o1,o2) ≥ seuil, ou
       distance entre C1 et C2 ≤ seuil avec

                                      1
          dist ( C , C
                 1       2   )   =             ∑
                                   n1 * n2 o1∈C1 o2∈C2
                                                       dist(o1, o2)
                                                 ,



        et n1=|C1|.
      Ces techniques peuvent être adaptées pour les
       méthodes divisives

                                                               35
BIRCH (1996)
   Birch: Balanced Iterative Reducing and Clustering using
    Hierarchies
   Construit incrémentalement un arbre (CF-tree : Clustering
    Feature), une structure hiérarchique où chaque niveau
    représente une phase de clustering
       Phase 1: scanner la base pour construire le CF-tree
        dans la mémoire
       Phase 2: utiliser n’importe quel algorithme de clustering
        sur les feuilles du CF-tree
   Avantage: trouve les clusters en une seule passe sur la BD
   Inconvénient: ne considère que les données numériques et
    est sensible à l’ordre des enregistrements
                                                       36
Clustering Feature Vector
Clustering Feature: CF = (N, LS, SS)
N: Number of data points
LS: ∑Ni=1=Xi
SS: ∑Ni=1=Xi2                                       CF = (5, (16,30),(54,190))
       10

        9

        8



                                                                (3,4)
        7

        6

        5

        4
                                                                (2,6)
        3                                                       (4,5)
        2

        1
                                                                (4,7)
        0
            0   1   2   3   4   5   6   7   8   9    10         (3,8)

                                                                        37
CF Tree
                                     Racine
N_noeud= 7
                 CF1       CF2 CF3                     CF6
N_feuille = 6
                 Fils1     Fils2   Fils3               Fils6



                    Nœud interne
         CF1     CF2 CF3                       CF5
         Fils1   Fils2    Fils3                Fils5


                         Feuille                               Feuille
  préd   CF1 CF2            CF6 suivant       préd CF1 CF2      CF4 suiv



                                                                38
CURE (Clustering Using REpresentatives )




   Les méthodes précédentes donnent les groupes
    (b)
   CURE: (1998)
       Arrête la création de clusters dès qu’on en a k
       Utilise plusieurs points représentatifs clusters

                                                39
Cure: l’algorithme

   Prendre un sous-ensemble s
   Partitionner s en p partitions de taille s/p
   Dans chaque partition, créer s/pq clusters
   Eliminer les exceptions (points aberrants)
   Regrouper les clusters partiels



                                           40
Partitionnment et Clustering
           s = 50
           p=2                    s/pq = 5
                                   

           s/p = 25
    y
                           y               y

                       x
y               y

                                       x                x
                               x                    x
                                               41
Cure: Rapprochement des points représentatifs

y


                                 y


                                                               x


                         x
   Rapprocher les points représentatifs vers le centre de
    gravité par un facteur α.
   Plusieurs points représentatifs permettent de figurer la
    forme du cluster
                                                     42
Clustering de données Catégorielles :
ROCK

   ROCK: Robust Clustering using linKs
      Utilise les liens pour mesurer la similarité/proximité

      N’est pas basé sur la notion de distance

   Idée :
      Fonction de similarité et voisins:


        Let T1 = {1,2,3}, T2={3,4,5}                      T1 ∩ T2
                                          Sim(T1 , T2 ) =
                                                          T1 ∪ T2

                               {3}      1
          Sim( T 1, T 2) =             = = .2
                                          0
                           { ,2,3,4,5}
                            1           5
                                                      43
Rock
   Considérons 4 transactions et 6 produits t.q
    T1={1,2,3,5} T2={2,3,4,5}
    T3={1,4} et T4={6}

   T1 peut être représentée par {1,1,1,0,1,0}

dist(T1,T2)=2 qui est la plus petite distance entre 2 transactions  T1
   et T2 dans même cluster. La moyenne de C1=(0.5,1,1,0.5,1,0).

C2={T3,T4} car dist(T3,T4)=3. Or T3 et T4 n’ont aucun produit en
  commun !

Idée : se baser sur le nombre d’éléments en commun

Ce n’est pas suffisant {1,2} est plus proche de {1,2,3} que de
  {1,2,3,4,5,6}
                                                           44
Rock: l’algorithme


   Liens: Le nombre de voisins communs de 2
    points
     {1,2,3}, {1,2,4}, {1,2,5}, {1,3,4}, {1,3,5}
     {1,4,5}, {2,3,4}, {2,3,5}, {2,4,5}, {3,4,5}
              {1,2,3}    3      {1,2,4}
   Algorithme
     Prendre un sous ensemble

     Regrouper avec les liens



                                           45
Clustering basé sur la densité
   Voit les clusters comme des régions denses séparées par
    des régions qui le sont moins (bruit)
   Deux paramètres:
       Eps : Rayon maximum du voisinage
       MinPts : Nombre minimum de points dans le voisinage-
        Eps d’un point
   Voisinage : V Eps (p) :    {q ∈ D | dist(p,q) <= Eps}
   Un point p est directement densité-accessible à partir de q
    resp. à Eps , MinPts si
       1) p ∈V Eps (q)
                                            p    MinPts = 5
       2) | V Eps (q) | >= MinPts      q
                                                 Eps = 1 cm

                                                    46
Clustering basé sur la densité


   Accessibilité:
                                                                   p
       p est accessible à partir de q resp.
        à Eps, MinPts si il existe p1, …, pn,                 p1
                                                      q
        p1 = q, pn = p t.q pi+1 est directement
        densité accessible à partir de pi

   Connexité
                                                  p                    q
       p est connecté à q resp. à Eps,
        MinPts si il existe un point o t.q p
        et q accessibles à partir de o resp.              o
        à Eps et MinPts.

                                                              47
DBSCAN: Density Based Spatial
         Clustering of Applications with Noise

   Un cluster est l’ensemble maximal de points connectés
   Découvre des clusters non nécessairement convexes



                                          Bruit

            Limite
                                              Eps = 1cm
                 Centr                        MinPts = 5


                                                  48
DBSCAN: l’algorithme

   Choisir p
   Récupérer tous les points accessibles à partir de p
    resp. Eps et MinPts .
   Si p est un centre, un cluster est formé.
   si p est une limite, alors il n’y a pas de points
    accessibles de p : passer à un autre point
   Répéter le processus jusqu’à épuiser tous les points.



                                                    49
Découverte d’exceptions

   Ce sont les objets qui sont considérablement
    différents du reste, exemple: ornithorynque, kiwi
   Problème
      Trouver n objets qui sont les plus éloignés du

       reste
   Applications:
      fraude

      Analyse médicale

      …


                                             50
Approache statistique



      On suppose que les données suivent une loi de
      distribution statistique (ex: loi normale)
     Utiliser les tests de discordance
        Proba(Xi=val)< β alors X est une exception

     Problèmes
        La plupart des tests sont sur un attribut

        Dans beaucoup de cas, la loi de distribution

         est inconnue
                                             51
Approche Basée sur la Distance

   Une (α, β)-exception est un object O dans T tel
    qu’il y a au moins α objets O’ de T avec
    dist(O,O’)> β

Más contenido relacionado

La actualidad más candente

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
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentationDonia Hammami
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesLilia Sfaxi
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionIntissar Dguechi
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabouAchraf Manaa
 
Analyse de sentiments dans les médias sociaux
Analyse de sentiments dans les médias sociauxAnalyse de sentiments dans les médias sociaux
Analyse de sentiments dans les médias sociauxYacine Yakoubi
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigFelipe Sanchez Garzon
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Ines Ben Kahla
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage AutomatiqueNizar Bechir
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleLilia Sfaxi
 

La actualidad más candente (20)

Cours Système d'Information
Cours Système d'InformationCours Système d'Information
Cours Système d'Information
 
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
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de Données
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Arbre de décision
Arbre de décisionArbre de décision
Arbre de décision
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusion
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
Analyse de sentiments dans les médias sociaux
Analyse de sentiments dans les médias sociauxAnalyse de sentiments dans les médias sociaux
Analyse de sentiments dans les médias sociaux
 
Formation python
Formation pythonFormation python
Formation python
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage Automatique
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
5.5 Clustering
5.5 Clustering5.5 Clustering
5.5 Clustering
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 

Destacado

Mémoire M2 Etude d'un cluster par sa configuration sociale
Mémoire M2 Etude d'un cluster par sa configuration socialeMémoire M2 Etude d'un cluster par sa configuration sociale
Mémoire M2 Etude d'un cluster par sa configuration socialeSophie Jaboeuf
 
Chapitre 3 clustering
Chapitre 3 clusteringChapitre 3 clustering
Chapitre 3 clusteringAnis Masmoudi
 
Rapport kmeans
Rapport kmeans Rapport kmeans
Rapport kmeans Imen Turki
 
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
 
MapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifiéMapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifiéMathieu Dumoulin
 
Windows Server 2012, quelles évolutions pour les services de stockage et de c...
Windows Server 2012, quelles évolutions pour les services de stockage et de c...Windows Server 2012, quelles évolutions pour les services de stockage et de c...
Windows Server 2012, quelles évolutions pour les services de stockage et de c...Microsoft Décideurs IT
 
Présentation grappe web AG infopole cluster tic 2013
Présentation grappe web AG infopole cluster tic 2013Présentation grappe web AG infopole cluster tic 2013
Présentation grappe web AG infopole cluster tic 2013Thierry Pastorello
 
Livre blanc sur les clusters
Livre blanc sur les clustersLivre blanc sur les clusters
Livre blanc sur les clustersBoudaud
 
Text Analytics on Google App
Text Analytics on Google AppText Analytics on Google App
Text Analytics on Google AppNan Wang
 
PPT file
PPT filePPT file
PPT filebutest
 
Amplificateurs optiques (soa, raman, edfa)
Amplificateurs optiques (soa, raman, edfa)Amplificateurs optiques (soa, raman, edfa)
Amplificateurs optiques (soa, raman, edfa)Assia Mounir
 
Clusters mondiaux
Clusters mondiauxClusters mondiaux
Clusters mondiauxMaria Manar
 
Prêtres et Missionnaires Convertis à l'Islam
Prêtres et Missionnaires Convertis à l'IslamPrêtres et Missionnaires Convertis à l'Islam
Prêtres et Missionnaires Convertis à l'IslamAzis MACh
 
Szarotka6
Szarotka6Szarotka6
Szarotka6a12
 
الاسد وابن اوى والحمار
الاسد وابن اوى والحمارالاسد وابن اوى والحمار
الاسد وابن اوى والحمارmuhmadbdran
 
Cartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clusteringCartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clusteringtuxette
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...Patrick Guimonet
 
Presentation Tisic 2011
Presentation Tisic 2011Presentation Tisic 2011
Presentation Tisic 2011ticien
 

Destacado (20)

Mémoire M2 Etude d'un cluster par sa configuration sociale
Mémoire M2 Etude d'un cluster par sa configuration socialeMémoire M2 Etude d'un cluster par sa configuration sociale
Mémoire M2 Etude d'un cluster par sa configuration sociale
 
Chapitre 3 clustering
Chapitre 3 clusteringChapitre 3 clustering
Chapitre 3 clustering
 
Rapport kmeans
Rapport kmeans Rapport kmeans
Rapport kmeans
 
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...
 
MapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifiéMapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifié
 
Windows Server 2012, quelles évolutions pour les services de stockage et de c...
Windows Server 2012, quelles évolutions pour les services de stockage et de c...Windows Server 2012, quelles évolutions pour les services de stockage et de c...
Windows Server 2012, quelles évolutions pour les services de stockage et de c...
 
Présentation grappe web AG infopole cluster tic 2013
Présentation grappe web AG infopole cluster tic 2013Présentation grappe web AG infopole cluster tic 2013
Présentation grappe web AG infopole cluster tic 2013
 
Livre blanc sur les clusters
Livre blanc sur les clustersLivre blanc sur les clusters
Livre blanc sur les clusters
 
Text Analytics on Google App
Text Analytics on Google AppText Analytics on Google App
Text Analytics on Google App
 
PPT file
PPT filePPT file
PPT file
 
Amplificateurs optiques (soa, raman, edfa)
Amplificateurs optiques (soa, raman, edfa)Amplificateurs optiques (soa, raman, edfa)
Amplificateurs optiques (soa, raman, edfa)
 
Clusters mondiaux
Clusters mondiauxClusters mondiaux
Clusters mondiaux
 
Prêtres et Missionnaires Convertis à l'Islam
Prêtres et Missionnaires Convertis à l'IslamPrêtres et Missionnaires Convertis à l'Islam
Prêtres et Missionnaires Convertis à l'Islam
 
Szarotka6
Szarotka6Szarotka6
Szarotka6
 
Data miningpresentation
Data miningpresentationData miningpresentation
Data miningpresentation
 
الاسد وابن اوى والحمار
الاسد وابن اوى والحمارالاسد وابن اوى والحمار
الاسد وابن اوى والحمار
 
Cartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clusteringCartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clustering
 
Bejaia
BejaiaBejaia
Bejaia
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 
Presentation Tisic 2011
Presentation Tisic 2011Presentation Tisic 2011
Presentation Tisic 2011
 

Similar a Clustering

Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04tarek1961moussa
 
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
 
1ère s cours sur fonctions polynômes de degré quelconque
1ère s cours sur fonctions polynômes de degré quelconque1ère s cours sur fonctions polynômes de degré quelconque
1ère s cours sur fonctions polynômes de degré quelconqueKhaled Naas
 
éChantillonnage estimation
éChantillonnage   estimationéChantillonnage   estimation
éChantillonnage estimationmarouane hdidou
 
Paramètres statistiques.pdf
Paramètres statistiques.pdfParamètres statistiques.pdf
Paramètres statistiques.pdfssuser50a397
 
Omp math nombres-complexes
Omp math nombres-complexesOmp math nombres-complexes
Omp math nombres-complexesAhmed Ali
 
CAPES maths 2019 composition 2
CAPES maths 2019 composition 2CAPES maths 2019 composition 2
CAPES maths 2019 composition 2Dany-Jack Mercier
 
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
 
Mathématiques Générales.pdf
Mathématiques Générales.pdfMathématiques Générales.pdf
Mathématiques Générales.pdfKarimBara2
 
Chap7 stat-proba-invest en-avenir_proba-corr
Chap7 stat-proba-invest en-avenir_proba-corrChap7 stat-proba-invest en-avenir_proba-corr
Chap7 stat-proba-invest en-avenir_proba-corrAnas Abidine
 
Analyse combinatoire
Analyse combinatoireAnalyse combinatoire
Analyse combinatoiremeryem2002
 
Intro_DeepLearning.pdf
Intro_DeepLearning.pdfIntro_DeepLearning.pdf
Intro_DeepLearning.pdfAmou5
 
Integrales doubles-ou-triples
Integrales doubles-ou-triplesIntegrales doubles-ou-triples
Integrales doubles-ou-triplesm.a bensaaoud
 
Analyse en Composantes Principales
Analyse en Composantes PrincipalesAnalyse en Composantes Principales
Analyse en Composantes PrincipalesJaouad Dabounou
 

Similar a Clustering (20)

Cours cluster si2e
Cours cluster si2eCours cluster si2e
Cours cluster si2e
 
Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04Al7 ma19tepa0009 sequence-04
Al7 ma19tepa0009 sequence-04
 
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
 
1ère s cours sur fonctions polynômes de degré quelconque
1ère s cours sur fonctions polynômes de degré quelconque1ère s cours sur fonctions polynômes de degré quelconque
1ère s cours sur fonctions polynômes de degré quelconque
 
Théorie des distributions
Théorie des distributionsThéorie des distributions
Théorie des distributions
 
éChantillonnage estimation
éChantillonnage   estimationéChantillonnage   estimation
éChantillonnage estimation
 
Paramètres statistiques.pdf
Paramètres statistiques.pdfParamètres statistiques.pdf
Paramètres statistiques.pdf
 
Omp math nombres-complexes
Omp math nombres-complexesOmp math nombres-complexes
Omp math nombres-complexes
 
01 lois-à-densité
01 lois-à-densité01 lois-à-densité
01 lois-à-densité
 
CAPES maths 2019 composition 2
CAPES maths 2019 composition 2CAPES maths 2019 composition 2
CAPES maths 2019 composition 2
 
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
 
Séries de Fourier
Séries de FourierSéries de Fourier
Séries de Fourier
 
246242769 sequence-1-pdf
246242769 sequence-1-pdf246242769 sequence-1-pdf
246242769 sequence-1-pdf
 
Mathématiques Générales.pdf
Mathématiques Générales.pdfMathématiques Générales.pdf
Mathématiques Générales.pdf
 
Comment faire disparaître les rides
Comment faire disparaître les ridesComment faire disparaître les rides
Comment faire disparaître les rides
 
Chap7 stat-proba-invest en-avenir_proba-corr
Chap7 stat-proba-invest en-avenir_proba-corrChap7 stat-proba-invest en-avenir_proba-corr
Chap7 stat-proba-invest en-avenir_proba-corr
 
Analyse combinatoire
Analyse combinatoireAnalyse combinatoire
Analyse combinatoire
 
Intro_DeepLearning.pdf
Intro_DeepLearning.pdfIntro_DeepLearning.pdf
Intro_DeepLearning.pdf
 
Integrales doubles-ou-triples
Integrales doubles-ou-triplesIntegrales doubles-ou-triples
Integrales doubles-ou-triples
 
Analyse en Composantes Principales
Analyse en Composantes PrincipalesAnalyse en Composantes Principales
Analyse en Composantes Principales
 

Clustering

  • 2. C’est quoi ?  Regroupement (Clustering): construire une collection d’objets  Similaires au sein d’un même groupe  Dissimilaires quand ils appartiennent à des groupes différents  Le Clustering est de la classification non supervisée: pas de classes prédéfinies
  • 3. Qu’est ce qu’un bon regroupement ?  Une bonne méthode de regroupement permet de garantir  Une grande similarité intra-groupe  Une faible similarité inter-groupe  La qualité d’un regroupement dépend donc de la mesure de similarité utilisée par la méthode et de son implémentation 3
  • 4. Structures de données  x11 ... x1f ... x1p   Matrice de données   ... ... ... ...  ...  x ... xif ... xip   i1   ... ... ... ... ...  x ... xnf ... xnp   n1     Matrice de similarité  0   d(2,1) 0     d(3,1) d ( 3,2) 0     : : :  d ( n,1) d ( n,2) ...  ... 0  4
  • 5. Mesurer la qualité d’un clustering  Métrique pour la similarité: La similarité est exprimée par le biais d’une mesure de distance  Une autre fonction est utilisée pour la mesure de la qualité  Les définitions de distance sont très différentes que les variables soient des intervalles (continues), catégories, booléennes ou ordinales  En pratique, on utilise souvent une pondération des variables 5
  • 6. Types des variables  Intervalles:  Binaires:  catégories, ordinales, ratio:  Différents types: 6
  • 7. Intervalle (discrètes)  Standardiser les données  Calculer l’écart absolu moyen: s f = 1 (| x1 f − m f | + | x2 f − m f | +...+ | xnf − m f |) n où m f = 1 (x1 f + x2 f + ... + xnf ) n .  Calculer la mesure standardisée (z-score) xif − m f zif = sf 7
  • 8. Exemple Age Salaire M Age = 60 S Age = 5 Personne1 50 11000 Personne2 70 11100 M salaire = 11074 S salaire = 148 Personne3 60 11122 Personne4 60 11074 Age Salaire Personne1 -2 -0,5 Personne2 2 0,175 Personne3 0 0,324 Personne4 0 2 8
  • 9. Similarité entre objets  Les distances expriment une similarité  Ex: la distance de Minkowski : d (i, j) = q (| x − x |q + | x − x |q +...+ | x − x |q ) i1 j1 i2 j2 ip jp où i = (xi1, xi2, …, xip) et j = (xj1, xj2, …, xjp) sont deux objets p-dimensionnels et q un entier positif  Si q = 1, d est la distance de Manhattan d (i, j) =| x − x | + | x − x | + ...+ | x − x | i1 j1 i2 j 2 ip jp 9
  • 10. Similarité entre objets(I)  Si q = 2, d est la distance Euclidienne : d (i, j) = (| x − x |2 + | x − x |2 +...+ | x − x |2 ) i1 j1 i2 j2 ip jp  Propriétés  d(i,j) ≥ 0  d(i,i) = 0  d(i,j) = d(j,i)  d(i,j) ≤ d(i,k) + d(k,j) 10
  • 11. Exemple: distance de Manhattan Age Salaire d(p1,p2)=120 Personne1 50 11000 Personne2 70 11100 d(p1,p3)=132 Personne3 60 11122 Conclusion: p1 ressemble plus Personne4 60 11074 à p2 qu’à p3  Age Salaire Personne1 -2 -0,5 d(p1,p2)=4,675 Personne2 2 0,175 d(p1,p3)=2,324 Personne3 0 0,324 Conclusion: p1 ressemble Personne4 0 0 plus à p3 qu’à p2  11
  • 12. Variables binaires  Une table de contingence pour données binaires Objet j a= nombre de positions 1 0 sum où i a 1 et j a 1 1 a b a +b Objet i 0 c d c+d sum a + c b + d p  Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1) a=1, b=2, c=1, d=2 12
  • 13. Mesures de distances  Coefficient d’appariement (matching) simple (invariant pour variables symétriques): d (i, j) = b +c a +b +c +d Exemple oi=(1,1,0,1,0) et oj=(1,0,0,0,1) d(oi, oj)=3/5 d (i, j) = b +c  Coefficient de Jaccard a +b +c d(oi, oj)=3/4 13
  • 14. Variables binaires (I)  Variable symétrique: Ex. le sexe d’une personne, i.e coder masculin par 1 et féminin par 0 c’est pareil que le codage inverse  Variable asymétrique: Ex. Test HIV. Le test peut être positif ou négatif (0 ou 1) mais il y a une valeur qui sera plus présente que l’autre. Généralement, on code par 1 la modalité la moins fréquente  2 personnes ayant la valeur 1 pour le test sont plus similaires que 2 personnes ayant 0 pour le test 14
  • 15. Variables binaires(II)  Exemple Nom Sexe Fièvre Toux Test-1 Test-2 Test-3 Test-4 Jack M Y N P N N N Mary F Y N P N P N Jim M Y P N N N N  Sexe est un attribut symétrique  Les autres attributs sont asymétriques  Y et P ≡ 1, N ≡ 0, la distance n’est mesurée que sur les asymétriques 0 + 1 d(jack, mary) = =0.33 2 + 0 + 1 1 + 1 d(jack, jim) = =0.67 1 + + 1 1 1 + 2 d(jim, mary) = =0.75 1 + + 1 2 Les plus similaires sont Jack et Mary⇒atteints du même mal 15
  • 16. Variables Nominales  Une généralisation des variables binaires, ex: rouge, vert et bleu  Méthode 1: Matching simple  m: # d’appariements, p: # total de variables p −m d (i, j) = p  Méthode 2: utiliser un grand nombre de variables binaires  Créer une variable binaire pour chaque modalité (ex: variable rouge qui prend les valeurs vrai ou faux) 16
  • 17. Variables Ordinales  Une variable ordinale peut être discrète ou continue  L’ordre peut être important, ex: classement  Peuvent être traitées comme les variables intervalles  remplacer x par son rang rif ∈ 1,..., M f } { if  Remplacer le rang de chaque variable par une valeur dans [0, 1] en remplaçant la variable f dans l’objet I par rif − 1 zif = Mf − 1  Utiliser une distance pour calculer la similarité 17
  • 18. En Présence de Variables de différents Types  Pour chaque type de variables utiliser une mesure adéquate. Problèmes: les clusters obtenus peuvent être différents  On utilise une formule pondérée pour faire la combinaison Σ =1δ f ) d ij f ) p ( ( d (i, j ) = f p ij ( f )  f est binaire ou nominale: Σ =1δ f ij dij(f) = 0 si xif = xjf , sinon dij(f) = 1  f est de type intervalle: utiliser une distance normalisée  f est ordinale zif = r −1 if  calculer les rangs r et if M −1 f  Ensuite traiter z comme une variable de type if intervalle 18
  • 19. Approches de Clustering  Algorithmes de Partitionnement: Construire plusieurs partitions puis les évaluer selon certains critères  Algorithmes hiérarchiques: Créer une décomposition hiérarchique des objets selon certains critères  Algorithmes basés sur la densité: basés sur des notions de connectivité et de densité  Algorithmes de grille: basés sur un structure à multi- niveaux de granularité  Algorithmes à modèles: Un modèle est supposé pour chaque cluster ensuite vérifier chaque modèle sur chaque groupe pour choisir le meilleur 19
  • 20. Algorithmes à partionnement  Construire une partition à k clusters d’une base D de n objets  Les k clusters doivent optimiser le critère choisi  Global optimal: Considérer toutes les k-partitions  Heuristic methods: Algorithmes k-means et k-medoids  k-means (MacQueen’67): Chaque cluster est représenté par son centre  k-medoids or PAM (Partition around medoids) (Kaufman & Rousseeuw’87): Chaque cluster est représenté par un de ses objets 20
  • 21. La méthode des k-moyennes (K-Means)  L’algorithme k-means est en 4 étapes : 1. Choisir k objets formant ainsi k clusters 2. (Ré)affecter chaque objet O au cluster Ci de centre Mi tel que dist(O,Mi) est minimal 3. Recalculer Mi de chaque cluster (le barycentre) 4. Aller à l’étape 2 si on vient de faire une affectation 21
  • 22. K-Means :Exemple  A={1,2,3,6,7,8,13,15,17}. Créer 3 clusters à partir de A  On prend 3 objets au hasard. Supposons que c’est 1, 2 et 3.  Chaque objet O est affecté au cluster au milieu duquel, O On a C1={1}, M1=1, C2={2}, M2=2 C3={3, 6,7,8,13,15,17}, M3=69/7=9.86 22
  • 23. K-Means :Exemple (suite)  dist(3,M2)<dist(3,M3)3 passe dans C2. Tous les autres objets ne bougent pas. C1={1}, M1=1, C2={2,3}, M2=2.5,C3={6,7,8,13,15,17} et M3= 66/6=11  dist(6,M2)<dist(6,M3)6 passe dans C2. Tous les autres objets ne bougent pas. C1={1}, M1=1, C2={2,3,6}, M2=11/3=3.67, C3={7,8,13,15,17}, M3= 12  dist(2,M1)<dist(2,M2)2 passe en C1. dist(7,M2)<dist(7,M3) 7 passe en C2. Les autres ne bougent pas. C1={1,2}, M1=1.5, C2={3,6,7}, M2=5.34, C3= {8,13,15,17}, M3=13.25  dist(3,M1)<dist(3,M2)3 passe en 1. dist(8,M2)<dist(8,M3)8 passe en 2 C1={1,2,3}, M1=2, C2={6,7,8}, M2=7, C3={13,15,17}, M3=15 Plus rien ne bouge 23
  • 24. Algorithme K-Means  Exemple 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 24
  • 25. Commentaires sur la méthode des K-Means  Force  Relativement efficace: O(tkn), où n est # objets, k est # clusters, et t est # itérations. Normalement, k, t << n.  Tend à réduire k E = ∑∑ p − mi 2  Faiblesses i =1 p∈ Ci  N’est pas applicable en présence d’attributs qui ne sont pas du type intervalle (moyenne=?)  On doit spécifier k (nombre de clusters)  Les clusters sont construits par rapports à des objets inexistants (les milieux)  Ne peut pas découvrir les groupes non-convexes 25
  • 26. La méthode des K-Medoids (PAM)  Trouver des objets représentatifs (medoïdes) dans les clusters (au lieu de la moyenne)  Principe  Commencer avec un ensemble de medoïdes puis itérativement remplacer un par un autre si ça permet de réduire la distance globale  Efficace pour des données de petite taille 26
  • 27. Algorithme des k-Medoides Choisir arbitrairement k medoides Répéter affecter chaque objet restant au medoide le plus proche Choisir aléatoirement un non-medoide Or Pour chaque medoide Oj Calculer le coût TC du remplacement de Oj par Or Si TC < 0 alors Remplacer Oj par Or Calculer les nouveaux clusters Finsi FinPour Jusqu’à ce ce qu’il n’y ait plus de changement 27
  • 28. PAM (Partitioning Around Medoids) (1987) Choisir arbitrairement k objets représentatifs  Pour toute paire (h,j) d’objets t.q h est choisi et j non, calculer le coût TC jh du remplacement de j par h  Si TCih < 0, j est remplacé par h  Puis affecter chaque objet non sélectionné au medoïde qui lui est le plus similaire  Répéter jusqu’à ne plus avoir de changements 28
  • 29. La méthode des K-Medoids  TCjh représente le gain en distance globale que l’on va avoir en remplaçant h par j  Si TCjh est négatif alors on va perdre en distance. Ca veut dire que les clusters seront plus compacts.  TCjh=Σi dist(j,h)-dist(j,i)= Σi Cijh 29
  • 30. La méthode des K-Medoids: Exemple  Soit A={1,3,4,5,8,9}, k=2 et M={1,8} ensemble des medoides C1={1,3,4} et C2={5,8,9} E{1,8}=dist(3,1)2+dist(4,1)2+dist(5,8)2+dist(5,9)2+dist(9,8)2=39  Comparons 1 et 3M={3,8}C1={1,3,4,5} et C2={8,9} E{3,8} =dist(1,3)2+dist(4,3)2+dist(5,3)2+dist(9,8)2=10 E {3,8} - E{1,8}= -29 <0 donc le remplacement est fait.  Comparons 3 et 4 M={4,8} C1 et C2 inchangés et E{4,8}=dist(1,4)2+dist(3,4)2+dist(5,4)2+dist(8,9)2= 12 3 n’est pas remplacé par 4  Comparons 3 et 5M={5,8} C1 et C2 inchangés et E{5,8}>E{3,8} 30
  • 31. PAM Clustering: TCih=∑jCjih 10 10 9 9 j 8 t 8 t 7 7 6 5 j 6 5 4 i h 4 h 3 3 i 2 2 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 Cjih = d(j, h) - d(j, i) Cjih = 0 10 10 9 9 8 h 8 j 7 7 6 6 5 5 i i h j t 4 4 3 3 2 2 t 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 Cjih = d(j, t) - d(j, i) Cjih = d(j, h) - d(j, t) 31
  • 32. Clustering Hiérarchique  Utiliser la matrice de distances comme critère de regroupement. k n’a pas à être précisé, mais a besoin d’une condition d’arrêt Etape Etap Etap Etap Etap 0 e1 e2 e3 e4 agglomerative (AGNES) a ab b abcde c cde d de e divisive Etap Etap Etap Etap Etap (DIANA) e4 e3 e2 e1 e0 32
  • 33. AGNES (Agglomerative Nesting)  Utilise la matrice de dissimilarité.  Fusionne les nœuds qui ont la plus faible dissimilarité  On peut se retrouver dans la situation où tous les nœuds sont dans le même groupe 10 10 10 9 9 9 8 8 8 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 33
  • 34. DIANA (Divisive Analysis)  L’ordre inverse de celui d’AGNES  Il se peut que chaque objet forme à lui seul un groupe 10 10 10 9 9 9 8 8 8 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 9 8 7 6 5 4 10 3 2 1 0 34
  • 35. Critères de fusion-éclatement  Exemple: pour les méthodes agglomératives, C1 et C2 sont fusionnés si  il existe o1 ∈ C1 et o2∈ C2 tels que Lien unique dist(o1,o2) ≤ seuil, ou  il n’existe pas o1 ∈ C1 et o2∈ C2 tels que dist(o1,o2) ≥ seuil, ou  distance entre C1 et C2 ≤ seuil avec 1 dist ( C , C 1 2 ) = ∑ n1 * n2 o1∈C1 o2∈C2 dist(o1, o2) , et n1=|C1|.  Ces techniques peuvent être adaptées pour les méthodes divisives 35
  • 36. BIRCH (1996)  Birch: Balanced Iterative Reducing and Clustering using Hierarchies  Construit incrémentalement un arbre (CF-tree : Clustering Feature), une structure hiérarchique où chaque niveau représente une phase de clustering  Phase 1: scanner la base pour construire le CF-tree dans la mémoire  Phase 2: utiliser n’importe quel algorithme de clustering sur les feuilles du CF-tree  Avantage: trouve les clusters en une seule passe sur la BD  Inconvénient: ne considère que les données numériques et est sensible à l’ordre des enregistrements 36
  • 37. Clustering Feature Vector Clustering Feature: CF = (N, LS, SS) N: Number of data points LS: ∑Ni=1=Xi SS: ∑Ni=1=Xi2 CF = (5, (16,30),(54,190)) 10 9 8 (3,4) 7 6 5 4 (2,6) 3 (4,5) 2 1 (4,7) 0 0 1 2 3 4 5 6 7 8 9 10 (3,8) 37
  • 38. CF Tree Racine N_noeud= 7 CF1 CF2 CF3 CF6 N_feuille = 6 Fils1 Fils2 Fils3 Fils6 Nœud interne CF1 CF2 CF3 CF5 Fils1 Fils2 Fils3 Fils5 Feuille Feuille préd CF1 CF2 CF6 suivant préd CF1 CF2 CF4 suiv 38
  • 39. CURE (Clustering Using REpresentatives )  Les méthodes précédentes donnent les groupes (b)  CURE: (1998)  Arrête la création de clusters dès qu’on en a k  Utilise plusieurs points représentatifs clusters 39
  • 40. Cure: l’algorithme  Prendre un sous-ensemble s  Partitionner s en p partitions de taille s/p  Dans chaque partition, créer s/pq clusters  Eliminer les exceptions (points aberrants)  Regrouper les clusters partiels 40
  • 41. Partitionnment et Clustering  s = 50  p=2 s/pq = 5   s/p = 25 y y y x y y x x x x 41
  • 42. Cure: Rapprochement des points représentatifs y y x x  Rapprocher les points représentatifs vers le centre de gravité par un facteur α.  Plusieurs points représentatifs permettent de figurer la forme du cluster 42
  • 43. Clustering de données Catégorielles : ROCK  ROCK: Robust Clustering using linKs  Utilise les liens pour mesurer la similarité/proximité  N’est pas basé sur la notion de distance  Idée :  Fonction de similarité et voisins: Let T1 = {1,2,3}, T2={3,4,5} T1 ∩ T2 Sim(T1 , T2 ) = T1 ∪ T2 {3} 1 Sim( T 1, T 2) = = = .2 0 { ,2,3,4,5} 1 5 43
  • 44. Rock  Considérons 4 transactions et 6 produits t.q T1={1,2,3,5} T2={2,3,4,5} T3={1,4} et T4={6}  T1 peut être représentée par {1,1,1,0,1,0} dist(T1,T2)=2 qui est la plus petite distance entre 2 transactions  T1 et T2 dans même cluster. La moyenne de C1=(0.5,1,1,0.5,1,0). C2={T3,T4} car dist(T3,T4)=3. Or T3 et T4 n’ont aucun produit en commun ! Idée : se baser sur le nombre d’éléments en commun Ce n’est pas suffisant {1,2} est plus proche de {1,2,3} que de {1,2,3,4,5,6} 44
  • 45. Rock: l’algorithme  Liens: Le nombre de voisins communs de 2 points {1,2,3}, {1,2,4}, {1,2,5}, {1,3,4}, {1,3,5} {1,4,5}, {2,3,4}, {2,3,5}, {2,4,5}, {3,4,5} {1,2,3} 3 {1,2,4}  Algorithme  Prendre un sous ensemble  Regrouper avec les liens 45
  • 46. Clustering basé sur la densité  Voit les clusters comme des régions denses séparées par des régions qui le sont moins (bruit)  Deux paramètres:  Eps : Rayon maximum du voisinage  MinPts : Nombre minimum de points dans le voisinage- Eps d’un point  Voisinage : V Eps (p) : {q ∈ D | dist(p,q) <= Eps}  Un point p est directement densité-accessible à partir de q resp. à Eps , MinPts si  1) p ∈V Eps (q) p MinPts = 5  2) | V Eps (q) | >= MinPts q Eps = 1 cm 46
  • 47. Clustering basé sur la densité  Accessibilité: p  p est accessible à partir de q resp. à Eps, MinPts si il existe p1, …, pn, p1 q p1 = q, pn = p t.q pi+1 est directement densité accessible à partir de pi  Connexité p q  p est connecté à q resp. à Eps, MinPts si il existe un point o t.q p et q accessibles à partir de o resp. o à Eps et MinPts. 47
  • 48. DBSCAN: Density Based Spatial Clustering of Applications with Noise  Un cluster est l’ensemble maximal de points connectés  Découvre des clusters non nécessairement convexes Bruit Limite Eps = 1cm Centr MinPts = 5 48
  • 49. DBSCAN: l’algorithme  Choisir p  Récupérer tous les points accessibles à partir de p resp. Eps et MinPts .  Si p est un centre, un cluster est formé.  si p est une limite, alors il n’y a pas de points accessibles de p : passer à un autre point  Répéter le processus jusqu’à épuiser tous les points. 49
  • 50. Découverte d’exceptions  Ce sont les objets qui sont considérablement différents du reste, exemple: ornithorynque, kiwi  Problème  Trouver n objets qui sont les plus éloignés du reste  Applications:  fraude  Analyse médicale  … 50
  • 51. Approache statistique On suppose que les données suivent une loi de distribution statistique (ex: loi normale)  Utiliser les tests de discordance  Proba(Xi=val)< β alors X est une exception  Problèmes  La plupart des tests sont sur un attribut  Dans beaucoup de cas, la loi de distribution est inconnue 51
  • 52. Approche Basée sur la Distance  Une (α, β)-exception est un object O dans T tel qu’il y a au moins α objets O’ de T avec dist(O,O’)> β