Vous êtes sur la page 1sur 58

Classification de données

(ségmentation, clustering)
BDWA-M2
Bernd Amann
UPMC

B. Amann UPMC BDWA-M2 Classification de données (clustering) 1


Plan
 Classification de données
 Mesures de (dis-)similitude
 Algorithmes de classification
 Le fléau de la haute dimension

B. Amann UPMC BDWA-M2 Classification de données (clustering) 2


Classification de données
 Objectif : diviser les données/objets en
clusters/classes d’objets similaires
 Classification vs. classement :
 Aucune ou peu de connaissances sur les clusters au départ
 Processus non supervisé et non contrôlé
 Pas de données pré-classifiées (training set)
 Utilisation générale :
 Étudier la distribution des données
 Préparer les données pour d’autres applications

B. Amann UPMC BDWA-M2 Classification de données (clustering) 3


Classification par mesure de distance
 Objets avec k propriétés :
 points dans un espace à k
dimensions
 Classification :
 regrouper les points en classes en
utilisant une mesure de distance
entre points

B. Amann UPMC BDWA-M2 Classification de données (clustering) 4


Exemples d’applications
 Projet Skycat :
 Regroupement de 2x109 objets stellaires en étoiles,
galaxies, quasars etc…
 7 dimensions : Chaque dimension correspond à la
radiation dans un spectre donné
 Classification de documents :
 Regroupement de documents par leur contenu
 Chaque dimension correspond au nombre d’occurrences
d’un mot dans un document
 Profils d’utilisateurs Web :
 Classification d’utilisateurs à partir de « motifs d’accès »
(pour développer des stratégies de marché…)
B. Amann UPMC BDWA-M2 Classification de données (clustering) 5
Exemple : filtrage collaboratif
 Différents types d’utilisateurs préfèrent différentes
catégories de musique
 Fichiers d’une même catégorie ont des utilisateurs
similaires et réciproquement
 Problème : Trouver une bonne catégorisation
 Solution : filtrage collaboratif
 Espace avec une dimension par utilisateur
 Fichier MP3 = point dans cet espace (x1, x2,…, xk), où xi =
1 si l’utilisateur i a téléchargé le fichier MP3 et xi = 0
sinon (k utilisateurs)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 6


Exemple : classification de documents
 Documents avec les mêmes mots sont
thématiquement proches
 Solution :
 Espace avec une dimension par mot
 Document texte = point dans cet espace (x1, x2,…,
xk), où xi = 1 si le mot i apparaît dans le document
et xi = 0 sinon

B. Amann UPMC BDWA-M2 Classification de données (clustering) 7


Représentation des données
d'entrée

 
x . .. x 11 1f
... x 1k

 n objets, k variables : : : : :
 Table relationnel : n x i1
. .. x if
... x ik

lignes avec k attributs : : : : :


xn1
. .. xnf
... x nk

 Matrice n× n des

 
0
distances de similitude
d 2,1  0
entre chaque pair d’objets
d 3,1  d  3,2 0
(i,j)
: : : :
d  n ,1  d n ,2 .. . . .. 0

B. Amann UPMC BDWA-M2 Classification de données (clustering) 8


Résultat d’une classification
 Séparation par des
frontières
 Sphères
 Probabilités 1 2 3
d'appartenance a 0.5 0.2 0.3
 Dendrogrammes b
0.9
0.7
0.5

0.2
x 0.0
a b c d e f

B. Amann UPMC BDWA-M2 Classification de données (clustering) 9


Qualité du résultat d’une classification
 Qualité / erreur objective (# de
clusters fixé) :
 Distance inter-classes maximisée
 Distance intra-classes minimisée
 Qualité applicative :
 Dépend de la méthode, des
mesures de distance et d’autres
paramètres (# de cluster, …)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 10


Paramètres de classification
 Données :
 Volume de données
 Types de données : booléennes, catégoriques,
numériques, ordonnées, ….
 # de variables à prendre en compte (dimension)
 Prise-en-compte de contraintes et d’exceptions
 Connaissances a-priori :
 # de clusters connu ou pas
 domaine d’application
 Forme du résultat :
 sphères, rectangles, aléatoire, …

B. Amann UPMC BDWA-M2 Classification de données (clustering) 11


Mesures de distance (de similitude)
Objectif : trouver des objets « assez similaires »
 Il est difficile de définir « assez similaire »
 Fonctions de distance ou métrique D(i, j)
 différentes pour des données dans une intervalle,
booléennes, catégoriques, numériques, …
 la pondération des différentes variables dépend de
l’application et de la sémantique des données

B. Amann UPMC BDWA-M2 Classification de données (clustering) 12


Mesures de distance
 Tâche de classification : comparaison de distances
entre des points
Espaces métriques :
 Euclidiens :
 distance définie par des positions dans un espace dense
 dimensions avec des valeurs réels
 → on peut définir et calculer une moyenne entre les points
 Non-euclidiens :
 distance définie sur des propriétés de points dans un espace
abstrait (pas de moyenne)
B. Amann UPMC BDWA-M2 Classification de données (clustering) 13
Espace métrique
 Mesure D: Ek × Ek → nombres réels
 Propriétés générales :
 D(x,y) >= 0
 D(x,x)=0
 Symétrie : D(x,y)=D(y,x)
 Inégalité triangulaire : D(x,y) ≤ D(x,z) + D(z,y)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 14


Distances euclidiennes
 Ek est un espace euclidien (moyennes existent)
 Mesures de distances :

norme Lq : q ( x − y )
∑i =1 i i (distance Minkowski)
k q

norme L2 : ( x − y )
∑i =1 i i (distance euclidienne, q = 2)
k 2

norme L1: ∑i =1 xi − yi (distance Manhattan, q = 1)


k

norme L∞ : max ik=1 xi − yi

B. Amann UPMC BDWA-M2 Classification de données (clustering) 15


Normalisation de données d'objets
complexes
 Données linéaires,
binaires, catégoriques,
ordonnées, exponentielles, x11 x1f x1p
mixtes
Problème : transformer un

Objet i

objet (avec des xif
variables/données) en un
point dans un espace
euclidien à k dimensions ? xn1 xnf xnp
Variable / dimension f

B. Amann UPMC BDWA-M2 Classification de données (clustering) 16


Transformations de Variables
 Variables ordonnées :
 Transformation de rang en variable linéaire :
 Remplacer x par son rang 1<r<M
 Transformer x dans l’intervalle [0, 1] : (r-1/M-1)
 Variables exponentielles (ratio-scaled)
 Transformation logarithmique : y = log(x)
 Calculer la similarité en utilisant les méthodes pour les
variables linéaires

B. Amann UPMC BDWA-M2 Classification de données (clustering) 17


Distances non-euclidiennes
 Distance Jaccard: distance entre des ensembles A et B
(variables binaires asymétriques) :
 dist(A,B) = 1 - |A∩B|/|A∪B|
 asymétrique : on ne compte pas les éléments absents dans A
et B
 Distance cosinus : angle entre les vecteurs
 dist(p1, p2) = dist(p1, p2) = cos(θ) = p1.p2/(|p2||p1|)
 Distance d’édition :
 X(s,s’) = {op1, op2, …} : séquence d’opérations opi
(insertion, suppression) pour transformer une chaîne s (un
arbre, …) en une autre chaîne s’ (un autre arbre, …)
 dist(s,s’) = « coût » de la séquence la moins coûteuse (ex:
coût = # d’opérations)
Distance cosinus
 Distance entre p1 et p2 :
 angle entre les deux vecteurs p1 et p2
 cos(θ) = p1.p2/|p2||p1|
p1
 Tous les points sur une droite sont à une
distance 0
p2

θ
p1.p2
|p2|
B. Amann UPMC BDWA-M2 Classification de données (clustering) 19
Distance cosinus
 Similarité entre deux pages web x et y :
 Espace à 108 dimensions (chaque dimension correspond à un mot)
 Produit scalaire entre deux vecteurs qui comptent les mots dans x et y :

D ( x, y ) =1 −
∑x y
i i

x y
 Exemple 1: x=[2,0,3,1], y=[5,3,2,0]
16
D ( x, y ) = 1 − ≅ 0.3
14 38
 Exemple 2: x=[a1, a2, a3, a4] et y=[2a1, 2a2, 2a3, 2a4]
D(x,y) = 0
 Tous les points sur une droite sont à une distance 0
B. Amann UPMC BDWA-M2 Classification de données (clustering) 20
Distance LCS et distance d'édition
 Séquences DNA, web log :
 Les séquences peuvent être similaires avec des longueurs différentes
et des caractères différents à la même position
 Exemple : x=abcde y=bcdxye
 Distance LCS :
 LCS = sous-séquence commune la plus longue
 D(x, y) = |x| + |y| - 2× |LCS(x, y)|
 Exemple : LCS(x,y) = bcde et D(x, y) = 3
 Distance d’édition :
 Transformer x en y en (1) effaçant a, suivi par (2) l’insertion de x et
(3) de y après d.
 Distance = 3 opérations

B. Amann UPMC BDWA-M2 Classification de données (clustering) 21


Le fléau de la haute dimension
 Deux points x=[x1,…,xk], y=[y1,....,yk] choisis au
hasard
 D(x,y) >= max|xi-yi| (pour toutes les normes)
 « Fléau de la haute dimension » (curse of
dimensionality) :
Plus k est grand, plus il est très probable :
 qu’il existe une dimension i où |xi-yi| est maximal : D(x,y)
est proche de la moyenne et plus vraiment utile
 que x et y sont orthogonaux : il existe très probablement
un plan P parmi tous les k2  plans possibles, tel que la
projection de x et y sur P donne deux vecteurs
orthogonaux

B. Amann UPMC BDWA-M2 Classification de données (clustering) 22


Approche : réduire les dimensions
 Les méthodes de classification sont conçues
pour des points dans un espace euclidien
 Si on a n points et une mesure de distance
D(x,y)
 Il est toujours possible de placer les n points dans
un espace à (n-1) dimension avec la préservation
des distances
 Il est possible de projeter les n points dans un
espace à k<(n-1) dimensions

B. Amann UPMC BDWA-M2 Classification de données (clustering) 23


Multidimensional scaling
 Méthode « brutale » pour placer n points
dans un espace euclidien à k < (n-1)
dimensions
 Idée :
 Chaque pair de points (x,y) est relié par un
ressort R(x,y)
 Chaque ressort à une énergie (R(x,y)-D(x,y))2
 On essaie de minimiser la somme des énergies
 Complexité : O(n2)
B. Amann UPMC BDWA-M2 Classification de données (clustering) 24
dimension

Fastmap c

 On choisit k pairs de points (ai,bi) tels


que chaque pair correspond à un axe
(une dimension) orthogonal dans un a b
espace euclidien à k dimensions x
 Principe (k=1) : D 2 ( a, c ) + D 2 ( a, b) + D 2 (b, c )
x=
 Loi du cosinus : permet la projection 2 D ( a , b)
d’un point sur une ligne en utilisant d

Dcourant (c,d)
seulement les distances entre les points )
(c,d
 Distance entre deux points c et d est D

c
a b
Dcourant ( c, d ) = D ( c, d ) − ( x − y )
2 2
x x-y
y

Christos Faloutsos and King-Ip Lin. 1995. FastMap: a fast algorithm for indexing, data-mining and visualization of traditional and
multimedia datasets. In Proceedings of the 1995 ACM SIGMOD international conference on Management of data (SIGMOD '95),
Michael Carey and Donovan Schneider (Eds.). ACM, New York, NY, USA, 163-174.
B. Amann UPMC BDWA-M2 Classification de données (clustering) 25
Fastmap
 Objectif :
 calculer pour chaque point c les projections c(1) , c(2) , … c(k)
sur les k axes désignés par (a1,b1), (a2,b2), … (ak,bk)
 Choix de l’axe (dimension) i :
 Choisir un point aléatoire c
 ai=point le plus éloignés de c (en utilisant Dcourant )
 bi=point le plus éloignés de ai (en utilisant D)
 Calcule pour chaque point c sa projection c(i)

D i courant = D 2 ( c, d ) − ∑ ( x ( j ) − y ( j ) ) 2
j ≤i

 Compléxité : O(nk)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 26


Algorithmes de classification
 Algorithmes hiérarchiques : décomposition/composition
hiérarchique de clusters (CURE, BIRCH)
 Algorithmes par partitionnement : regroupement itérative
avec amélioration par replacement des objets (k-means, k-
médiodes)
 Fonctions de densité (cluster avec forme arbitraire) : clusters
grandissent aussi longtemps que la densité des objets dans leur
voisinage est supérieure à une borne (DBSCAN, OPTICS)
 Grilles : l’espace est divisé en cellules qui forment une grille
(STING, CLIQUE)
 Modèles : chaque cluster est supposé suivre un modèle :
trouver la meilleure correspondance entre les modèles et les
données (COBWEB)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 27


Problème : Passage à l’échelle
 Adapter des algorithmes pour des grandes bases de
données
 Les données sont stockées sur disque et ne peuvent pas
toutes être chargées en mémoire
 Il faut éviter le nombre de parcours de lectures (scan)
 Diminuer la complexité des algorithmes :
 Beaucoup de problèmes de fouille de données (et en
particulier les algorithmes de classification) ont des
solutions (algorithmes) « naïves » avec un complexité
quadratique dans la taille des données
 Opérations comparables à la jointure en BD

B. Amann UPMC BDWA-M2 Classification de données (clustering) 28


Algorithmes hiérarchiques
 Regroupement des données en arbre de clusters :
 par division : on démarre avec un seul cluster avec tous les
objets et chaque étape éclate les cluster en clusters plus petits
 par agglomération : au départ chaque objet forme un cluster
et chaque étape fusionne des cluster jusqu’au moment où une
condition de terminaison est satisfaite
 Problème : définir distance entre deux clusters

B. Amann UPMC BDWA-M2 Classification de données (clustering) 29


Classification hiérarchique
 Utilisation d’une matrice de distance
 Paramètre : condition de terminaison (nombre de clusters
souhaités, …)
Pas 0 Pas 1 Pas 2 Pas 3 Pas 4
Par agglomeration
a
ab
b
abcde
c Dendrogramme
d cde
de
e
Par division
Pas 4 Pas 3 Pas 2 Pas 1 Pas 0

B. Amann UPMC BDWA-M2 Classification de données (clustering) 30


Mesures de distance entre clusters
 ||x-x’|| : distance entre x et x’
 mi=position du centre du cluster Ci
 p=point dans un cluster p'
p x

d min (Ci , C j ) = min p − p ' (single linkage) x


p∈Ci , p '∈C j
x x x

d max (Ci , C j ) = max p − p ' (complete linkage) x


p∈Ci , p '∈C j

d mean (Ci , C j ) = mi − m j
d avg (Ci , C j ) = 1 /(ni * n j ) ∑ ∑ p − p ' (average/mean linkage)
p∈Ci p '∈C j

B. Amann UPMC BDWA-M2 Classification de données (clustering) 31


Classification par agglomération /
division
AGNES (Agglomerative NESting) et DIANA (Divisive ANAlysis) :
 Chaque étape fusionne les clusters avec la plus grande similarité
 S’arrête quand le nombre de clusters est inférieur à un seuil ou une
autre contrainte est satisfaite

10 10 10

9 9 9

8 8 8

7
AGNES 7 AGNES 7

6 6 6

5 5 5

4 4 4

3 3 3

1
DIANA 2

1
DIANA
2

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

B. Amann UPMC BDWA-M2 Classification de données (clustering) 32


Résultat : Dendrogramme
 Arbre de fusion/décomposition des clusters.
 Chaque sous-arbre/noeud correspond à un cluster.
 L’erreur E (la qualité) d’un cluster diminue
(augmente) avec la profondeur du noeud
k
E = ∑∑ p∈C ( p − mi )
2
Distance entre clusters

3.5
i
3.2 i =1
2.9

0
clusters
B. Amann UPMC BDWA-M2 Classification de données (clustering) 33
Méthodes hiérarchiques
 Inconvénients de AGNES/DIANA :
 Complexité : O(n2)
 Processus incrémental sans contrôle/modification
possible du résultat des étapes précédentes

 BIRCH :
 représentation statistique de clusters (clustering
feature CF)
 ajustement incrémental des sous-clusters
 Compléxité : O(n)

Tian Zhang, Raghu Ramakrishnan, and Miron Livny. 1996. BIRCH: an efficient data clustering method for
very large databases. In Proceedings of the 1996 ACM SIGMOD international conference on Management
of data (SIGMOD '96), Jennifer Widom (Ed.). ACM, New York, NY, USA

B. Amann UPMC BDWA-M2 Classification de données (clustering) 34


Quelques rappels
1 n
 Moyenne arithmétique mf = ∑ x
n i = 1 if
 Déviation (absolue) moyenne 1 n
(plus robuste par rapport aux exceptions) sf = ∑ |x −m |
n i = 1 if f

Déviation standard (écart-



 n
1 2
type) σf =
n−1
∑  xif −m f 
i=1

 Variance σ 2f
 Standardisation (linéaire) : xif − m f
 mf = 0, sf = 1
zif = sf

B. Amann UPMC BDWA-M2 Classification de données (clustering) 35


BIRCH : Balanced Iterative Reducing and
Clustering Using Hierarchies (1/2)
 Clustering feature CF=(n,S,S2) :
 représentation statistique d’un cluster de n objets où

S = ∑i =1 pi et S 2 = ∑i =1 pi
n n 2
 Observations :
 CF est suffisant pour calculer les distances inter- et intra-cluster
 Il est possible de « composer » : CF + CF’ = (n+n’, S+S’, S2+S2’)
 Arbre CF :
 arbre balancé de nœuds CF
 permet la gestion dynamique d’une hiérarchie de clusters
 Paramètres :
 degré de sortie des nœuds internes et diamètre des feuilles

B. Amann UPMC BDWA-M2 Classification de données (clustering) 36


Arbre CF
 Nœuds internes :
 Max. B fils
 Feuilles :
 Max. L CF avec
diamètre D < T
 T augmente →
taille de l’arbre
diminue
diametre

∑i =1 ∑ j =1 i j
n n
( X − X ) 2

D=
N ( N − 1)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 37


BIRCH : Algorithme (2/2)
 Phase 1 (disque) :
 Construction d’un arbre CF avec une seule lecture des données
 Similaire à la construction d’un arbre B+
 Première classification qui peut être améliorée avec des lectures
(scans) supplémentaires
 Phase 2 (mémoire) :
 Application d’un algorithme de classification (hiérarchique) aux
feuilles de l’arbre (en mémoire)
 Complexité : O(n)
 Inconvénients :
 Taille des clusters limitée par la taille des nœuds de l’arbre (page
mémoire)
 Mauvaise performance avec des clusters non-sphériques

B. Amann UPMC BDWA-M2 Classification de données (clustering) 38


Algorithmes par partitionnement
 Objectif: Trouver une partition en k clusters qui optimise un
critère de partitionnement donné (k est fixé d’avance)

 Pour trouver l’optimum global il faudrait énumérer toutes les

  partitions possibles : trop coûteux


n
k

 Méthodes heuristiques (optimum local) :


 k-means : chaque cluster est représenté par un centre (espace
euclidien)
 k-medoid (ou PAM) : chaque cluster est représenté par un objet

B. Amann UPMC BDWA-M2 Classification de données (clustering) 39


Classification K-Means
Algorithme (#clusters = k donné) :
Choisit aléatoirement k points comme centres (mean) mi
Boucle
Affecte chaque point au centre le plus près
Recalcule les nouveaux centres mi avec tous les membres de chaque
cluster
Tant que le critère de convergence n’est pas satisfait
Critères de convergence :
 # réaffectation de points < borne
 décroissance de l’erreur globale E < borne :
k
E = ∑∑ p∈C ( p − mi )
2
i
i =1
B. Amann UPMC BDWA-M2 Classification de données (clustering) 40
Exemple (k=2)

Affectation 2
des points
4
x
6
7 5 x 3 1 8

Clusters après le premier tour


B. Amann UPMC BDWA-M2 Classification de données (clustering) 41
Remarques sur k-means
 Points forts:
 Efficacité : O(t*k*n) où n = # points, k = # clusters et t =
# itérations. Normalement : k, t << n.
 Points faibles
 Terminaison avec optimum local
 Il faut définir la notion de moyenne / distance Euclidienne
(difficile avec des données non numériques)
 Sensible aux données bruitées et aux exceptions
 Inadapté aux clusters non convexes
 Sensible aux choix initiaux : k, points de départ…

B. Amann UPMC BDWA-M2 Classification de données (clustering) 42


Comment choisir k?
 Essayer avec des k différents et mesurer les
changements de la distance moyenne avec le
centre.
Distance
moyenne
avec centre Meilleure
valeur pour k

B. Amann UPMC BDWA-M2 Classification de données (clustering) 43


Méthode k-Médoides
 k-Means est sensible aux exceptions
 Un objet avec une valeur très éloignées des autres valeurs
va fausser la distribution des données
 Médoide : le point le plus central d’un cluster qui
sert comme représentant
 Centroid : point central
qui ne fait pas forcement
partie du cluster.
Médoides initiaux

B. Amann UPMC BDWA-M2 Classification de données (clustering) 44


Algorithme k-medoids
Algorithme (non-deterministe) :
 Choisir aléatoirement k instances comme médoides
initiaux
 Boucle
 Cherche pour chaque point son médoide le plus près
 Choisit aléatoirement un point non-médoide y et un
médoide mi
 Calcule le coût global du remplacement (eg. différence de
l’erreur globale) de mi par y
 Remplace le médoide mi par y si ce coût < 0
 Tant qu’une amélioration est possible
B. Amann UPMC BDWA-M2 Classification de données (clustering) 45
PAM (Partitioning around medoids)
 PAM : A chaque étape et pour
chaque medoïde mi, recherche
exhaustive du coût de remplacement
pour tous les couples (mi,y) possible
 PAM est plus robuste que k-means en
présence de bruits ou exceptions
 Problème du passage à l’échelle
 O(k(n-k)2) lectures à chaque étape

B. Amann UPMC BDWA-M2 Classification de données (clustering) 46


CLARA: Clustering LARge Applications
Idée principale : appliquer PAM à un échantillon (sample).
 Extraction de plusieurs échantillons (5) avec application de
PAM et choix du meilleur résultat
 Avantage :
 fonctionne avec des grands ensembles de points
 O(ks2+k(n-k)) où s est la taille de l’échantillon
 Faiblesses :
 Efficacité dépend de la taille et de la qualité des échantillons
 Amélioration :
 CLARANS (échantillon aléatoire différent à chaque étape)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 47


Algorithme BFR
 BFR (Bradley-Fayyad-Reina) : variante de k -means
pour traiter des très grands volumes de données (sur
disque)
 Hypothèse : distribution normale des données autour
d’un centre dans un espace euclidien
 Principe :
 Lecture successive de points en mémoire centrale
 La plupart des données déjà lues sont résumées par des
simples statistiques
 Sélection “intelligente” des centres initiaux (point délicat)

B. Amann UPMC BDWA-M2 Classification de données (clustering) 48


Trois types d’ensembles de points
 Points écartés (PE) :
 clusters de points assez proche d’un centre
 représentation statistique avec affectation à un centre
 Points comprimés (PC) :
 groupes de points qui sont proches mutuellement mais
loin d’un centre
 représentation statistique sans affectation à un centre
 Points isolés (PI) :
 le reste des points

B. Amann UPMC BDWA-M2 Classification de données (clustering) 49


“Galaxies” de points
Points dans
PI

Points dans PC.

Un cluster avec PE centre


B. Amann UPMC BDWA-M2 Classification de données (clustering) 50
Description statistique de n points
 Description d’un ensemble S de n points dans un espace à d
dimensions (n, SUM, SUMSQ) où
 SUM[j] = ∑i pi[j] et SUMSQ[j] = ∑i pi[j]2
 Idée similaire à CF dans BIRCH :
 2d + 1 de valeurs permettent de représenter n’importe quel
ensemble de points.
 Moyenne de chaque dimension (centre) :
 SUM[j] /N.
 Variance des points écartés d’un cluster :
 σ[j]2 = (SUMSQ[j] /N) – (SUM[j] /N )2
 Déviation standard = racine de variance

B. Amann UPMC BDWA-M2 Classification de données (clustering) 51


Traitement d’un ensemble de points
chargés en mémoire
 Chercher les points “assez proche” d’un centre et
ajouter au PE correspondants
 Appliquer un algorithme de classification (en-
mémoire) aux points restants et aux points isolés PI
 Ajouter clusters trouvés dans PC
 Points isolés dans PI.
 Ajuster les statistiques
 Dernier tour : mélanger PC et PI avec les clusters les
plus proches

B. Amann UPMC BDWA-M2 Classification de données (clustering) 52


Assez proche ?
 Comment décider quand un point est assez proche
d’un centre de cluster (d dimensions)?
 Distance euclidienne normalisée inférieure à une borne :


p
∑i=1 xi −y i 2
Dx , y = 2
4  d
 i
 Comment décider quand il faut combiner deux PC en
un?
 Variance de la combinaison < à une borne

B. Amann UPMC BDWA-M2 Classification de données (clustering) 53


CURE
 Approche hierarchique / partitionnement
 échantillonage
 ajustement de la forme du cluster (non-sphérique)
 augmente la robustesse par rapport aux exceptions
 Hypothèse :
 distribution normalisée dans chaque dimension.

B. Amann UPMC BDWA-M2 Classification de données (clustering) 54


CURE : hiérarchique + partitionnement
 Extraire un échantillon S de la base de données et
partitionner S

+
 Classification hiérarchique partielle de chaque partition

+ + +
(pointillé)

+
+ +
 Chaque cluster partiel possède un objet représentatif (+)
 Composition des clusters partiels : bouger objets

+
+
représentatifs « un peu » vers le centre du nouveau
cluster

+
+
L’ensemble des objets représentatifs définit la forme du

+

+
cluster

+
+
 Classement de tous les points dans les clusters les plus

+
proches

+
B. Amann UPMC BDWA-M2 Classification de données (clustering) 55
Exemple : clusters d’échantillon

h h h h

h
e X e e
e

X
h e h e
e h e h
e e

B. Amann UPMC BDWA-M2 Classification de données (clustering) 56


Classification par densité (DBSCAN)
 Graphe de densité :
 voisin(q,q') ={(q,q')|D(q,q) < r}
 noyau(p) :- |voisins(p,q)|>min min=2
 accesdirect(p,q) :- voisins(p,q), noyau(p)
 acces(p,q) :- accesdirect(p,q)
acces(p,q) :- acces(p,p’), accesdirect(p’,q)
 connect(q,q’) :- acces(p,q), acces(p,q’)
 Cluster = ensemble maximal d’objets connectés
 Compléxité :
 O(n2) : calcul de voisin + fermeture transitive acces
 O(n log n) avec index spatial

B. Amann UPMC BDWA-M2 Classification de données (clustering) 57


Conclusion
 Le regroupement d’objets par rapport à leur
similarité possède beaucoup d’applications
 Recherche d’information, traitement d’images,
catégorisation de produits, analyse de données
spatiales, nettoyage de données (recherche
d’exceptions)
 Il est possible de définir des mesures de
similarité pour différents types de données
 Il existe des algorithmes performants

B. Amann UPMC BDWA-M2 Classification de données (clustering) 58

Vous aimerez peut-être aussi