1 / 72

Fouille de données (Data Mining) Partie III

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

tasya
Download Presentation

Fouille de données (Data Mining) Partie III

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fouille de données (Data Mining)Partie III Karine Zeitouni ISTY - 3ème année Université de Versailles Saint-Quentin Edition 2011-2012

  2. 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

  3. II.4. Clustering Objectifs Distances Algorithmes

  4. 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

  5. Similarité • Problèmes : • La notion de distance et d’appartenance à un groupe varie selon le domaine • Indice de similarité • S1) s est symétrique : s(w, w’) = s(w’, w) • S2) s(w, w) = s(w’, w’) > s(w, w’) C’est une constante supérieur : smax • Indice de dissimilarité: • ne vérifie pas S2) mais S2’)  w , d(w, w) = 0 Fouille de données

  6. Distance • Distance : indice de dissimilarité qui vérifie également : • (D1) d(w, w’) = 0 => w = w’ • (D2) pour tout w, w’,w” de , d(w, w’)  d(w, w”) + d(w”, w’) -- 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

  7. 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

  8. Distances (données numériques) • Distance de Minkowsky : • d(w1, w2) = [ j=1p |x1j – x2j| ] 1/ • pour  = 1, on a les valeurs absolues (distance de Manhattan) • pour  = 2, on a la distance euclidienne simple (M = I) • pour  -> +, on obtient la distance de Chebyshev  (ultramétrique): • d(w1, w2’) = Max j |x1j – x2j| Fouille de données

  9. Distances (données binaires) • On considère x1 et x2 deux vecteurs binaires : • Soit a le nombre de fois où x1j = x2j = 1 • Soit b le nombre de fois où x1j = 0 et x2j = 1 • Soit c le nombre de fois où x1j = 1 et x2j = 0 • Soit d le nombre de fois où x1j = x2j = 0 • Exemple de similarités souvent utilisées : • D1(x1, x2) = a / (a+b+c+d) • D2(x1, x2) = a / (a+b+c) • D3(x1, x2) = 2a / (2a+b+c) • D4(x1, x2) = a / (a+2(b+c)) • D5(x1, x2) = (a+d) / (a+b+c+d) Fouille de données

  10. 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

  11. 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

  12. 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

  13. Sous-ensemble classique A d’un univers X, • la fonction d’appartenance : xAA(x) = 1 x AA(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

  14. A B Ac 1 AB AB 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

  15. É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= A1A2  .. Ar de X = X1X2  .. 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

  16. 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

  17. II.4. Clustering Objectifs Distances Algorithmes

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. Exemple de K-Means (k=2) Choisir 2 centres Assigner les objets Recalculer les centres Réassigner les objets Fouille de données

  25. Evolution des partitions Trajectoires des 3 centres d’un nuage de points bidimensionnel Les hyperplans séparateurs entre les classes Fouille de données

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. Agglomération - CAH • Exemple de CAH (Classification Automatique Hiérarchique) 1 3 18 22 Fouille de données

  34. 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

  35. 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

  36. 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

  37. Exemple (2) • Nouveaux centres • 27.5 - 51.5 - 33 - 44.5 - 21 - 39 - 57 • seuil = 20 % Fouille de données

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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)

  44. 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

  45. 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

  46. Algorithme BIRCH Fouille de données

  47. 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

  48. 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

  49. 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

  50. Principes de CURE Fouille de données

More Related