771 likes | 1.12k Views
Fouille de données (Data Mining) Partie III. Karine Zeitouni ISTY - 3ème année Université de Versailles Saint-Quentin Edition 2011-2012. Plan Général du Cours. Introduction Principales techniques Motifs fréquents Associations Classification et prédiction Groupage et segmentation
E N D
Fouille de données (Data Mining)Partie III Karine Zeitouni ISTY - 3ème année Université de Versailles Saint-Quentin Edition 2011-2012
Plan Général du Cours • Introduction • Principales techniques • Motifs fréquents • Associations • Classification et prédiction • Groupage et segmentation • Préparation des données • Filtrage et validation • Méthodologie et Standards • Fouille de données complexes • Motifs séquentiels • Fouille de texte • Fouille de données spatiales et spatiotemporelles • Etude de cas Fouille de données
II.4. Clustering Objectifs Distances Algorithmes
Clustering • Classification automatique d'objets • à partir d'exemples non structurés, décrit en extension les classes en se basant sur une mesure de similarité pour grouper les données • On ne connaît pas les classes a priori mais on les découvre (c’est un apprentissage non supervisé) • But : • maximiser la similarité intra-classes et minimiser la similarité inter-classes. • Utilise une mesure de distance en assimilant un tuple à un point nD. • Complexité : • Problème NP difficile. C’est bien là le problème ! Fouille de données
Similarité • Problèmes : • La notion de distance et d’appartenance à un groupe varie selon le domaine • Indice de similarité • S1) s est symétrique : s(w, w’) = s(w’, w) • S2) s(w, w) = s(w’, w’) > s(w, w’) C’est une constante supérieur : smax • Indice de dissimilarité: • ne vérifie pas S2) mais S2’) w , d(w, w) = 0 Fouille de données
Distance • Distance : indice de dissimilarité qui vérifie également : • (D1) d(w, w’) = 0 => w = w’ • (D2) pour tout w, w’,w” de , d(w, w’) d(w, w”) + d(w”, w’) -- inégalité triangulaire • Indice de distance : indice de dissimilarité qui ne vérifie que (D1) • Ecart : indice de dissimilarité qui ne vérifie que (D2) Fouille de données
Distances (données numériques) • Distance euclidienne générale : • d2(w1, w2) = (x1 – x2) M (x1 – x2) • avec M une matrice symétrique définie positive • Distance du 2 : • d2 (w1, w2) = j=1p 1/x.j (x1j / x1. – x2j/ x2.) 2 avec x.j = i=1n xij et xi. = j=1p xij Fouille de données
Distances (données numériques) • Distance de Minkowsky : • d(w1, w2) = [ j=1p |x1j – x2j| ] 1/ • pour = 1, on a les valeurs absolues (distance de Manhattan) • pour = 2, on a la distance euclidienne simple (M = I) • pour -> +, on obtient la distance de Chebyshev (ultramétrique): • d(w1, w2’) = Max j |x1j – x2j| Fouille de données
Distances (données binaires) • On considère x1 et x2 deux vecteurs binaires : • Soit a le nombre de fois où x1j = x2j = 1 • Soit b le nombre de fois où x1j = 0 et x2j = 1 • Soit c le nombre de fois où x1j = 1 et x2j = 0 • Soit d le nombre de fois où x1j = x2j = 0 • Exemple de similarités souvent utilisées : • D1(x1, x2) = a / (a+b+c+d) • D2(x1, x2) = a / (a+b+c) • D3(x1, x2) = 2a / (2a+b+c) • D4(x1, x2) = a / (a+2(b+c)) • D5(x1, x2) = (a+d) / (a+b+c+d) Fouille de données
Distances (données qualitatives) • Similarités entre individus : • codage disjonctif complet; permet de se ramener à un tableau de variables binaires • Similarités entre variables : • considère le tableau de contingence associé à deux variables v1 et v2 • permet de définir une similarité entre les variables. • Par exemple la valeur du 2 de contingence peut-être utilisée comme similarité entre les variable Nb_estimé = proba*nb_total Fouille de données
Ressemblance : approche de Tversky • Notion de « similarité » non basée sur la distance: • Ressemblance n’est pas une relation symétrique • “ressemblance de A à B” : sujet A et référence B : sujet peut ne pas ressembler autant à la référence que la référence au sujet Fouille de données
Notion de ressemblance • : ensemble de référence • F() : ensemble des sous-ensembles flous de • Un sous-ensemble flou A de F() est caractérisé par sa fonction d’appartenance A définie sur F(). • Ressemblance : • R(A, A) = 1 • Si (B A) alors R(A, B) = 1 • Si (A B) = alors R(A, B) = 0 Fouille de données
Sous-ensemble classique A d’un univers X, • la fonction d’appartenance : xAA(x) = 1 x AA(x) = 0 A: X {0, 1} • Sous-ensemble flouA d’un univers X, la fonction d’appartenance correspond à une valeur de vérité : • Ici : • « Taille est petite » est vraie • avec un degré 0.25 A: X [0, 1] x X, A(x) [0,1] petit 1 0 Taille 1.6 1.67 1.7 Notion de sous-ensemble flou (1) Fouille de données
A B Ac 1 AB AB 0 Notion de sous-ensemble flou (2) • Opérations sur des sous-ensembles flous : • Les lois de Morgan sont toutes vérifiées sauf : Fouille de données
Égalité de sous-ensembles flous: • Inclusion de sous-ensembles flous • Produit cartésien de sous-ensembles flous Soit X1,X2,..,Xrdes ensembles de références A1, A2, ..,Ar des sous-ensembles flous sur X1,X2,..,Xr; Le sous-ens. flou A= A1A2 .. Ar de X = X1X2 .. Xr est défini par : Réf. : Zadeh L., Computational Theory of Perceptions (TCP), 2001. Notion de sous-ensemble flou (3) Fouille de données
Notion de Typicalité • Définie par [Desclés 86] : • Etudie les relations entre intention et extension d’un concept : • Ext(f) = {x; f(x) soit vrai} Int(f) = {g; f comprend g} • problème au niveau de la transitivité : • “autruche est oiseau” + “oiseau volent” => “autruche vole” ? • Finalement : la dualité ne tient que pour les prototypes et les occurrences typiques • Différence entre degré d’appartenance et degré de typicalité : • “l’autruche est un oiseau mais n’est pas typique de la classe oiseau” • Calcul du degré de typicalité : • “un objet est d’autant plus typique qu’il ressemble beaucoup aux membres de sa classe et qu’il est très différent des membres des autres classes.” Réf.: DESCLES J.-P.,1986, “L’implication entre concepts : la notion de typicalité” , Travaux de Linguistique et de Littérature, XXIV, 1, pp. 179-102. Fouille de données
II.4. Clustering Objectifs Distances Algorithmes
Méthodes de clustering Partitionnement Hiérarchiques Densité Agglomerative Divisive k-Means CLARANS DBSCAN DENCLUE AGNES DIANA k-Medoids OPTICS BIRCH CURE Chameleon Principales Méthodes (1) Fouille de données
Principales Méthodes (2) • Méthodes par partitionnement: • Construire k partitions et les corriger jusqu'à obtenir une similarité satisfaisante • k-means • k-medoids ou PAM (Partitionning Around Medoid) • CLARA (Clustering LARge Applications) • CLARANS (Clustering LARge Applications based RANdomized Search) • Méthodes hiérarchiques: • Créer une décomposition hiérarchique par agglomération ou division de groupes similaires ou dissimilaires • CAH, AGNES, DIANA, BIRCH, CURE, ROCK, … Fouille de données
Principales Méthodes (3) • Méthodes par densité: • Grouper les objets tant que la densité de voisinage excède une certaine limite • DBSCAN, OPTICS, DENCLUE • Méthodes par grille: • Diviser l'espace en cellules formant une grille multi-niveaux et grouper les cellules voisines en terme de distance • STING, WaveCluster, CLIQUE • Méthodes par modèle: • Modéliser les groupes et utilise le modèle pour classer les points • COBWEB, Neural Networks Fouille de données
Principe du partitionnement • N objets sont classés en k-partitions • Construire k partitions et les corriger jusqu'à obtenir une similarité satisfaisante • Optimisation d'une fonction d'objectif • similarité inter-classe • k-means, k-medoids en mémoire • compression possible • CLARANS pour les BD Fouille de données
K-Means • Méthode des K-moyennes (MacQueen’67) • choisir K éléments initiaux "centres" des K groupes • placer les objets dans le groupe de centre le plus proche • recalculer le centre de gravité de chaque groupe • itérer l'algorithme jusqu'à ce que les objets ne changent plus de groupe • Encore appelée méthode des centres mobiles • C'est l'Algorithme le plus utilisé Fouille de données
Algorithme • Étapes: • fixer le nombre de clusters: k • choisir aléatoirement k objets comme centres des clusters • assigner chaque objet au clusters de centre le plus proche (varonoï) • recalculer de nouveaux centres améliorant la qualité • i.e. réduisant la moyenne de distance entre un objet et le centre de son groupe • tant que les k centres ont été changés • réassigner les objets • recalculer les k centres Fouille de données
Exemple de K-Means (k=2) Choisir 2 centres Assigner les objets Recalculer les centres Réassigner les objets Fouille de données
Evolution des partitions Trajectoires des 3 centres d’un nuage de points bidimensionnel Les hyperplans séparateurs entre les classes Fouille de données
Faiblesse • Mauvaise prise en compte des "outliers" • points extrêmes en dehors des groupes • faussent les moyennes et donc les centres • Convergence plus ou moins rapide • Amélioration: • utilisation de points centraux (médoïdes) Fouille de données
k-Médoïds ou PAM • Kaufman & Rousseeuw’87 • Les centres sont des points effectifs • recherche de centres approchés des groupes • calculés par substitution aléatoire: • choix aléatoire d'un nouveau centre • calcul de la différence en distance des points • substitution si la différence est négative • essai de tous les couples (x,y) de chaque groupe • l'un est centre, l'autre non Fouille de données
Forces et faiblesses • Beaucoup plus coûteuse que K-Means • Plus de calculs • Plus robuste que k-means • Moins sensible aux "outliers" Fouille de données
CLARA et CLARANS • CLARA (Clustering LARge Applications) • Kaufmann and Rousseeuw 1990 • Tire des petits échantillons successifs de la base • exemple: 5 de 40 points • Applique PAM à chaque échantillon • isole les médoids • retourne le meilleur clustering • La qualité d'un clustering est mesurée par la dissimilarité des objets de chaque partition sur toute la base Fouille de données
CLARANS (1) • A Clustering Algorithm based on Randomized Search • Ng and Han’94 • Recherche d'un échantillon représentatif • Construit un graphe de voisinage entre médoids • Deux nœuds sont voisins s'ils diffèrent d'un seul medoid • Exploration d'un graphe où chaque nœud correspond à un ensemble de k médoids solution Fouille de données
CLARANS (2) • Chaque nœud est affecté d'un coût mesurant la dissimilarité totale des points avec le medoid de leur cluster • Optimum local • Il s'agit de rechercher le point de coût minimum du graphe • Algorithme de type "branch and bound" • A chaque étape, les voisins du nœud courant sont évalués; celui correspondant à la baisse maximum du coût est retenu comme solution suivante • Résultats meilleurs et plus efficace que CLARA, mais coût en o(n**2) où n est le nombre d’objets. Fouille de données
Agglomération hiérarchique - Principe • Etapes : • Chaque individu représente un groupe • Trouver les deux groupes les plus proches • Grouper ces deux groupes en un nouveau groupe • Itérer jusqu'à N groupes Fouille de données
Agglomération - CAH • Exemple de CAH (Classification Automatique Hiérarchique) 1 3 18 22 Fouille de données
Variantes pour former les groupes • Principe : • regrouper les objets puis les groupes les plus proches. • Comment calculer la distance entre groupes ? • Variantes : • Comme la distance minimale des objets des 2 groupes • tendance à former des chaînes • Comme la distance maximale des objets des 2 groupes • bonne méthode pour des grappes (minimise l’écartement) • Comme la distance des centres • faible résistance au bruit ("outliers ») • … Fouille de données
Utilisation de la distance moyenne • Calculer les distances de tous les points deux à deux. • Associer tous les points dont la distance ne dépasse pas un seuil. • Calculer le centre de chaque cluster. • Répéter le processus avec les centres et un nouveau seuil jusqu ’à l’obtention du nombre de cluster souhaité. Fouille de données
Exemple (1) • Points 27 - 51 - 52 - 33 - 45 - 22 - 28 - 44 - 40 - 38 - 20 - 57 • distance = |p1-p2| / E(pi) ; seuil = 10 % Où E : Etendu de Pi = max – min (ici E = 57-20 = 37) Fouille de données
Exemple (2) • Nouveaux centres • 27.5 - 51.5 - 33 - 44.5 - 21 - 39 - 57 • seuil = 20 % Fouille de données
DIV : une méthode divisive • Divise à chaque étape une classe en fonction d'une question binaire et du critère d'inertie. • A chaque étape, la méthode définit la question binaire qui induit la bipartition d’inertie intra-classe minimum. • Inertie d’une classe C • Inertie(C) = d2(Xi,Xj) pour tout Xi, Xj dans C • Inertie intra-classe = inertie(Ck) pour toutes les classes Fouille de données
DIANA – méthode divisive • DIvide ANAlysis • Kaufmann and Rousseeuw (1990) • Méthode par division récursive • Tous les objets sont placés dans un cluster • Divise de manière hiérarchique les clusters • selon un critère de dispersion des objets • Stoppe quand le nombre de clusters est atteint ou les clusters contiennent 1 seul objet Fouille de données
Algorithme divisif Étape 1: Tous les objets dans la même classe C Étape 2: Diviser successivement chaque classe C en deux classes (C1,C2) en fonction du critère de l’inertie intra-classes étape 2.1: pour chaque variable X , trouver la coupure s qui maximise D(X,s/C)=|w(C) - w(C1)-w(C2)| étape 2.2: choisir la variable X* et la coupure s D(X*,s*/C)=max D(X,s/C) Étape 3: diviser la classe C en (C1,C2) Fouille de données
BIRCH • Balanced Iterative Reducing and Clustering using Hierarchies • Zhang, Ramakrishnan, Livny (SIGMOD’96) • Par division, incrémentale en une passe • Sauvegarde les informations de clustering dans un arbre balancé • Chaque entrée de l'arbre décrit un cluster • Les nouveaux nœuds sont insérés sous l'entrée la plus proche Fouille de données
Mesures • Soient les points d’un cluster , • Centroid : • Rayon (Radius) :distance moyenne des points au centroid du cluster • Diamètre : racine carrée de la distance moyenne de tous les points deux à deux du cluster
Clustering Feature (CF) Clustering Feature (CF):CF= (N, LS, SS) N : nombre de points LS : linear somme des points SS: somme despoints au carré • CF1 + CF2= (N1+N2, LS1+LS2, SS1+SS2)
Arbre de clustering (CF-Tree) • CF (N,LS,SS) = Clustering Feature • N: Nombre de points dans le cluster • LS: Somme des points dans le cluster • SS: Somme des carrés des points dans le cluster • CF Tree • Arbre de recherche équilibré (proche B-tree) • Un noeud mémorise la somme des CF de chaque fils (exploite une propriété d’additivité) • Les feuilles représentent les clusters • mémorise les CF des clusters • possède un diamètre maximum (seuil) Fouille de données
Construction incrémentale • Phase 1: • parcours de la base pour construire un CF-tree initial en mémoire • une feuille est éclatée quand le seuil de diamètre est dépassé • Les CF sont alors redistribués aux nœuds internes • Permet d'obtenir un résumé comprimé de la base respectant les caractéristiques de groupage Fouille de données
Algorithme BIRCH Fouille de données
Phase 2: Amélioration des clusters • Si l'arbre ne tient pas en mémoire, augmenter le seuil de diamètre • Etape 2 optionnelle : • Appliquer un algorithme de clustering en mémoire aux nœuds feuilles du CF tree, chaque nœud étant traité comme un point • Placer les points dans le cluster de centre le plus proche Fouille de données
Forces et Faiblesses • Passe à l'échelle avec un grand nombre d'objets • Trouve un bon clustering en une passe et permet d'améliorer ensuite • Marche mieux avec des groupes sphériques • utilisation du diamètre des clusters Fouille de données
CURE • Groupe en utilisant des représentants • Utilise un nombre fixe de points pour représenter un groupe • Les points sont choisis: • 1) en choisissant des points écartés • 2) en les déplaçant vers le centre du groupe • A chaque étape, les 2 groupes ayant les représentants les plus proches sont fusionnés Fouille de données
Principes de CURE Fouille de données