1. Trang chủ
  2. » Giáo Dục - Đào Tạo

REDUCTION DE BASE DE DONNEES PAR LA CLASSIFICATION AUTOMATIQUE

68 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

INSTITUTDELAFRANCOPHONIEPOURL’INFORMATIQUE RAPPORT DU STAGE REDUCTIONDEBASEDEDONNEESPARLA CLASSIFICATIONAUTOMATIQUE Sous la direction de Pr Georges HEBRAIL, ENST Paris Réalisé par LE Anh Tuan, IFI Hanoi Décembre 2004 Remerciements Je tiens remercier mon encadrant du stage, Monsie ur Georges Hébrail, le professeur du département Informatique et Réseaux INFRES),( ENST Paris, pour sa disponibilité, son soutient et son aide précieuse endantp toute la durée du stage Je voudrais également remercier chaleureusement Madame Sophie Bizart, le secrétaire du département INFRES de m’avoir accueilli et son aide pendant le stage Un grand merci l’IFI d’avoir bien préparé mon stage J’ai le plaisir de remercier tous les stagiaires au département INFRES, ENST qui m’ont porté leur amitié J’exprime mon entière reconnaissance ma famille et mes amis pour leurs soutiens, leurs aides et leurs encouragements Table de matières Résumé Abstract Chapitre Introduction Chapitre Etat de l’art Classification de données Types de données et les mesures 1) Classification basée sur la taille de domaine : 2) Classification basée sur l’échelle de mesure : Méthodes de classification 11 1) Méthodes hiérarchiques (hierarchical clustering) 11 i CURE 13 2) Méthodes de partitionnement (partitional clustering): 14 i K-medoids 14 ii K-means 15 3) Méthodes basées sur la densité 18 i DBSCAN 19 ii DENCLUE 20 4) Méthodes basées sur la grille 21 i STING 21 ii WaveCluster 22 iii CLIQUE 22 5) Algorithmes pour des données de haute dimension 23 i Sélection d’attributs 23 ii Réduction de dimensionnalité 23 iii Classification dans sous-espaces 24 iv Co-classification 25 6) Algorithmes pour les données qualitatives (catégorie) 25 i ROCK 26 ii STIRR 26 iii CACTUS 27 Chapitre Classification sur le flux de données 29 Classification sur le flux de données 29 i STREAM-LOCALSEARCH 30 ii GenIc 31 Algorithmes BIRCH et CLUSTREAM 32 1) BIRCH 32 i Arbre des CFs 32 ii Algorithme 33 iii Cluster Feature et la distance dans BIRCH 38 2) CLUSTREAM 42 i Maintenance en ligne des micros classes 43 ii Création des macros classes 44 iii Analyse d’évolution des classes 45 Chapitre Implémentation et expérimentation 46 Implémentation du BIRCH 46 Expérimentation du BIRCH 51 Chapitre Conclusion et perspectives 52 Annexe Sommaire des algorithmes de classification 53 Annexe Liste des figures 55 Références 56 Résumé Aujourd’hui, il y a plus en plus des applications dont la base de données est très grosse et les données apparaissent sous la forme d’un flux de données infini comme des enregistrements de coup de téléphone, lasurveillance de réseaux Pour ce type de données, les systèmes de gestion de basede données (SGBDs) traditionnels semblent ne pas convenables parce que ils ne traitent que des données taille limitée Pour exploiter efficacement des données massives enutilisant un espace de stockage limité, il faut trouver un traitement spécial qui éduitr les données afin d’obtenir des informations nécessaires appelées des résumés partir de ces données Il y a certaines méthodes pour ce fait : échantillonnage, compression et classification Parmi eux, la classification est la solution la plus convenable Dans ce rapport, nous parlons des algorithmes de classification en général et particulièrement de ceux qui sont pour le flux de données Après avoir découvert plusieurs algorithmes de classification, nous avons trouvé que l’algorithme BIRCH est une solution de réduction de données très bonnes etle modèle CLUSTREAM permet de traiter efficacement les données sur un flux dedonnées Nous avons également implémenté l’algorithme BIRCH pour tester sa performance Abstract Today, there is more and more applications whose database is very large and the data appear in the form of an infinite data stream like records of telephone call, the monitoring of networks For this type of data, the traditional database management systems (DBMS) seem not suitable because they treat only data with limited size To exploit effectively massive data by using a space of limited storage, it is necessary to find a special processing which reduces the data in order to obtain necessary information called the summaries from these data There are certain methods for this: sampling, compression and clustering Among them, clustering is the most suitable solution In this report, we talk about the general clustering algorithms and particularly about those which are for the data flow After having studied several clustering algorithms, we found that BIRCH algorithm is a very good data reduction solution and the CLUSTREAM is a model which allows to effectively treating the data stream We also implemented algorithm BIRCH to test its performance Chapitre Introduction Aujourd’hui, il y a plusieurs applications qui ont besoin d’un autre modèle de stockage des données que le modèle des SGBD (Système de Gestion de Base de Données) traditionnel Un modèle de SGBD traditionnel stocke des jeux de données finis et persistants, donc il n’est approprié qu’aux applications dont le volume de données n’est pas gigantesque, dont des parties significatives de données sont souvent requises et dont les mises jour sont relativement peu fréquentes On peut trouver de telles nouvelles applications dans les télécommunications, la surveillance des réseaux, les affaires, les marchés financiers, les flux de clics sur les pages web…Dans ces applications, les données arrivent sous la forme d’un flux de données, i.e un gros volume de données qui arrive continuellement Les données ne sont accessibles que par ordre d’arrivée, les accès aléatoires ne sont asp permis La mémoire réservée aux données est relativement plus petite que le volume total du flux de données, donc il n’y a qu’une petite quantité de données qui peut être gardée Dans les télécommunications, par exemple, les enregistrement d’appel sont continuellement générés Typiquement, la plupart de traitements sont faits en examinant un enregistrement une seule fois Après, il ne sera plus examiné Il existe des méthodes pour réaliser un compromis ntre un gros volume de données qui arrivent et un espace de stockage et petit On peut échantillonner les données qui arrivent et utiliser les échantillons btenuso dans les opérations de l’application Cette méthode perd beaucoup d’informations concernant le jeu entier de données Une autre méthode est de compresser les données et d’utiliser les données compressées au lieu des données originales Dans cecas, les données compressées ne peuvent pas être efficacement interprétées et directement utilisées sans être décompressées La classification automatique est aussi une technique de compression (réduction) de données mais les données sontbien compressées en sens que le jeu de données peut être bien interprété en n’utilisant equles données compressées La classification automatique des données consisteà diviser un jeu de données en sous-ensembles de données appelés classes pour ueq tous les individus dans même une classe soient similaires et les individus de classes distinctes soient dissimilaires Typiquement, chaque classe est représentée par unindividu qui s’appelle le centre de la classe ou par certaines informations dérivées detous les individus de la classe qui sont suffisantes de décrire la classe Il y a plusieurs algorithmes de classification des données Ils diffèrent par la nature de données qu’ils traitent (données numériques ou données de catégorie, petit jeu de données ou gros jeu de données, données deimensiond élevée ou moins élevée, sur un flux de données ou pas…), par les méthodes d e distribution des données en classes, par la représentation des classes… Ce stage de fin d’étude a eu lieu l’Ecole Nationale Supérieure des Télécommunications de Paris, France J’ai travaillésous la direction du professeur Georges HEBRAIL Mon travail dans ce stage est de découvrir tout d’abord le domaine de classification de données en général Cetravail consiste faire connaissance le concept de classification des données, les problèmes concernant du domaine, une classification des algorithmes de classification différents afin de trouver que l’algorithme BIRCH et le modèle CLUSTREAM est une bonne solution pour le problème de classification sur le flux de données.Nous avons également implémenté l’algorithme BIRCH et fait des expérimentations pour évaluer sa performance Une simulation simple de classification sur un flux de données est également réalisée en se basant sur cet algorithme Ce rapport est organisé comme suivant : Le chapitre décrit le problème de classification de données en général et de différents algorithmes de classification Le chapitre parle de l’algorithme BIRCH et CLUSTREAM Le chapitre décrit notre implémentation et expérimentation de l’algorithme BIRCH Le chapitre est une conclusion avec quelques perspectives Chapitre Etat de l’art Classification de données La classification est une méthode qui a pour but degrouper les individus d’une population en des classes disjointes telles que dans une même classe, les membres sont similaires et dans les classes différentes, les individus sont dissimilaires Il faut distinguer la classification (la classification non supervisée) avec le classement (la classification supervisée) [1][3] : Classification supervisée: Etant donné un ensembledes classes déjà identifiées et un individu, il s’agit de trouver la meilleure classe laquelle cet individu appartient Classification non supervisée : Etant donné un ensemble des individus, il s’agit de structurer des classes pas encore identifiées qui groupent ces individus Nous nous intéressons la classification non supervisée dans la fouille de données dans laquelle les exigences principales sont la capacité de traitement d’un gros jeu de données et la capacité de traitement des différents types de données Le processus de classification comprend les étapes suivantes [2] [3] : (1) représentation des individus, (2) définition d’unemesure de similarité appropriée aux données, (3) classification, (4) abstraction des données, (5) validation du résultat La représentation des individus (patterns) a pour but de déterminer les informations concernant les données : le nombre de classes désiré, le nombre d’individus disponibles, le nombre, le type et l’échelle des attributs de données Ces informations sont utilisées dans l’algorithme de classification La proximité des individus est souvent mesurée par une fonction de distance entre chaque pair d’individus De nombreuses mesures de proximité sont proposées, se basant sur la nature de données La classification est une phase de groupement des individus dans les classes Plusieurs algorithmes de classification sont proposés La différence entre eux est la manière dont ils groupent les individus telles que la méthode hiérarchique, la méthode de partition…, le type de données qu’ils traitent comme des données numériques, de catégorie, le flux de données…, la mesure de proximité des individus et des classes qu’ils utilisent, telles que la distance euclidienne, la distance de Minkowski, le lien simple ou le lien complet…ou le critère selon lequel on construit des classes L’abstraction des données est un processus d’extraction d’une représentation simple et compacte pour un jeu de données Typiquement, une abstraction des données est une description compacte de chaque classe, souvent en terme de prototypes des classes ou d’individus représentatifs des classes comme le centre des classes La validation du résultat vise déterminer si les classes fournies sont significatives en utilisant un critère spécifique d’optimalité Cependant, un tel critère est souvent subjectif, donc il y a peu de manières standard pour valider la classification sauf dans certains domaines bien décrits priori La classification est utile dans reconnaissance des formes, apprentissage, documents, segmentation d’images… une variété de domaines comme : fouille de données, recherche de Types de données et les mesures Dans la classification, le type d’objets traités est divers (des personnes, des avis, des entités…) Ces objets doivent être soigneusement présentés en termes de leurs caractéristiques Ces caractéristiques sontles variables principales du problème et leur choix influence considérablement sur les résultats d'un algorithme de classification Nous présentons une classificationbasée sur deux caractéristiques : la taille de domaine et l’échelle de mesure [1][24] 1) Classification basée sur la taille de domaine : Cette classification distingue des objets sur une variable en se basant sur la taille de leur domaine, i.e le nombre de valeurs distinctes de la variable Un attribut est continu si son domaine n’est pas compté et infini, i.e ses éléments ne peuvent pas être mis dans une bijectionavec l'ensemble de nombres entiers positifs Cela signifie qu’entre deux valeurs quelconques de l'attribut, il existe un nombre infini de valeurs Un attribut est discret si son domaine est un ensemble fini, i.e un ensemble dont les éléments peuvent être mis dans une bijection avec un sous-ensemble fini des nombres entiers positifs Un attribut est binaire s’il est un attribut dont le domaine contient exactement valeurs 2) Classification basée sur l’échelle de mesure : Cette classification distingue des attributs selon leur échelle de mesure Supposons que x = (x1 , , xk ) , y = ( y1 , , yk ) et z = (z1 , , zk ) sont des objets dans un jeu de données D en k dimensions, xi, yi, zi sont des attributs, i = 1,…, k Une échellenominale distingue les catégories Cela signifie que nous pouvons seulement dire si xi = yi ou xi ¹ yi Les valeurs ne peuvent pas être totalement ordonnées Elles sont simplement une généralisationdes attributs binaires, avec un domaine plus de deux valeurs discrètes Une échelle ordinale implique des attributs d’échelle nominale utilisant un dispositif additionnel pour que leurs valeurs soient totalement mises en ordre, mais les différences entre les valeurs ne peuvent pas être uantifiéesq Par conséquent, au lieu de dire xi = yi ou xi ¹ yi on peut dire xi < yi ou xi > yi Une échelle d'intervalle mesure des valeurs dans l’échelle linéaire Avec l’échelle d'intervalle nous pouvons dire non seulement si une valeur se trouve avant ou après une autre, mais aussi quelle distance avant ou après Puisque des valeurs sont mises sur une échelle linéaire, sixi > yi alors nous pouvons également indiquer que x est différent de xi - yi unités de y pour l’attribut i Une échelle de rapport est une échelle d'intervalle avec un point nul significatif Des attributs d’échelle nominale et ordinale s’appellent des attributs qualitatifs (ou catégoriques), alors que l’échelle d'intervalleet de rapport s’appelle des attributs quantitatifs Il est évident que des attributs quantitatifs sont mesurés en utilisant les unités spécifiques, telles que des kilogrammes et des centimètres Les unités de mesure affectent les résultats d'analyse des classes, puisque, par exemple, les unités changeantes de mesure des kilogrammes livres pour le poids, peuvent mener un résultat différent Le remède ce problème s'appelle la standardisation n Etant donné un attribut i,  i  k et n objets x , x , …, x Il s’agit de deux phases dans la standardisation : - Trouver la déviation absolue moyenne si de i, pour tous les objets :  si n valeurs de l’attribut i dans n objets, et m i est la moyenne de l’attribut i -  x1i  mi Déterminer la mesure standardisée :z Une fois que les caractéristiques des données ont té déterminées, nous sommes confrontés au problème de trouver des moyensappropriés de décider quelle distance un objet se trouve de l’autre Les calculs de proximité sont des mesures de la ressemblance ou de l’association entre les paires d'objets de données Un calcul de proximité peut mesurer la similarité ou la dissimilarité : plus deux objets se ressemblent, plus leur similarité est grande et plus leur dissimilarité est petite La dissimilarité peut être mesurée de différentes manières, l’une est la distance Quant elle, la distance peut également ờtre mesurộe de usieurspl faỗons Chaque mesure de distance est dépendante des caractéristiques des données qu’on traite Les métriques sont les mesures de distance les plusimportantes Une métrique doit satisfaire conditions : non négative, définit ve (la distance entre un objet et soimême doit être zéro), symétrique et l’inéquationtriangulaire En conséquence, une métrique est toujours une mesure mais l’inverse n’est pas toujours vrai Nous présentons une description brève de mesures pour chaque type d’attribut de données : Attributs d’échelle d’intervalle: Après la standardisation, la dissimilarité entre deux objets x et y peut être calculé par lesmétriques suivantes : + Distance de Minkowski : d (x, y)  + Distance euclidienne : d (x, y)  leafSize dataDim outlierThres maxOutSaved maxDelaySaved threshold En utilisant ces informations d’entrée, un arbre de CFs avec le nœud de racine sera créé et prêt accueillir les points qui arrivent pour former un arbre de CFs dont les nœuds sont des sous-classes contenant les point s de données qui sont les plus similaires Le degré de raffinement des sous-classes(la compacité ou le diamètre) est réduit de bas en haut Les opérations principales supportées dans la classe CCFTree : Nom 47 Rebuild Pour insérer un point de données dans l’arbre, toutd’abord, ce point est représenté comme une entrée L’arbre de CFs insèreune entrée en commenỗant au nud de racine, en descendant rộcursivement pour tr ouver un nœud de feuille approprié Cette entrée est soit insérée un nœudde feuille comme une nouvelle entrée, soit absorbée par une entrée existante dansce nœud Si cette opération ne fait pas dépasser le nombre de nœuds de l’arbre, alors u n autre point peut être inséré Au contraire, on fait retarder ce point en vérifiant si l’espace réservé aux points retardés est encore disponible S’il l’est, le point est sau vegardé sur le disque S’il ne l’est pas, c’est dire que n’importe quel point qui arrive n’ est ni inséré dans l’arbre car l’espace de l’arbre peut être dépassé sa capacité disponibles’il est inséré, ni sauvegardé sur le disque comme un point retardé qui attend une nouvele chance d’être inséré l’arbre, alors il faut reconstruire l’arbre en augmentant le seuil d’absorption des entrées Après avoir reconstruit l’arbre, on réinsère les points etardés stockés au disque au nouvel arbre de CFs, si un point retardé n’est pas réinséré, il est encore considéré comme un point retardé et il reste au disque Pour calculer le nouveau seuil, le programme extrait tous les nœuds de feuille de l’arbre actuel A chaque nœud de feuille, pour c haque entrée, on cherche l’entrée la plus proche dans le même nœud Pour tous les pairs d’entrées les plus proches, on calcule la somme de leurs distances Si un nœud tient une seule entrée, alors on cherche l’entrée la plus proche d’elle dans tous les nœuds de feuille de l’arbre en profitant des liens précédents et suivants de chaque nœud de feuille L’augmentation du seuil est la moyenne de la somme totale de distances de tous les pairs d’entrées les plus proches dans tous les nœuds de feuille En util isant ce nouveau seuil, on espère que la moitié de nœuds de feuille est réduite Après avoir terminé la construction d’un arbre de CFs, on obtient les informations suivantes (sorties): Nom cftree.xml clusters.dat outliers.dat Classe CCFNode Pour construire un noeud, il faut fournir les informations suivantes: Argument size threshold 48 En utilisant ces informations, on construit un nœud avec une taille et un seuil d’absorption précisé Normalement, seuls les nœuds de feuille sont liés par deux liens : un vers le nœud précédé, un vers le nœud su ivant En plus, la différence entre deux types de nœuds (non feuille et feuille) est ég alement la taille spécifiée par l’arbre de CFs lors de l’insertion d’un point l’arbre Un e liste d’entrée vide taille du nœud est créée pour stocker les sous-classes groupées dans le nœud Le parent d’un nœud est une entrée Initialement, le parent d’un nœud e st nul Les opérations principales de CFFNode: Nom insert getClosest absorb insertEnd testSplit split updateParent insertOutlier computePath reinsert Pour insérer une entrée E un nœud, on cherche l’en trée la plus proche de E Si le nœud actuel est une feuille, on vérifie si E peut être absorbée par son entrée la plus proche en fusionnant ces deux entrées pour former une sous-classe et teste si la compacité (le diamètre) de la sous-classe formée est inférieure au seuil d’absorption S’il ne l’est pas, on calcule le nombre de nœuds qu i seront créés si on insère E la fin 49 de la liste d’entrées du nœud Si le nombre de nœud s créés dépasse le nombre de nœuds restant, alors on stocke E sur le disque comme un point retardé S’il y a assez d’espace, alors on insère E au nœud Si le nœud act uel n’est pas une feuille, alors on descend au nœud fils de l’entrée la plus proche de E Si E est insérée la fin de la liste d’entrées dunœud et le nœud est dépassé sa capacité, alors il faut diviser ce nœud en nœuds en cherchant deux entrées qui sont les plus loin et distribuer les entrées restantes au tour ces deux germes selon le critère de proximité : On affecte une entrée un germe sielle est plus proche de ce germe par rapport au germe restant On crée une nouvelle entrée qui joue le rôle de parent du nouveau nœud et insère cette nouvelle entrée au nœu d parent (qui contient l’entrée parent du nœud divisé) La division peut être propagée en haut de l’arbre Si la racine est divisée, alors la hauteur de l’arbre est augmentée par L’insertion, la division et l’absorption évoquent la mise jour des entrées parent de bas en haut Classe CCFEntryList Pour construire une liste d’entrée, il faut spécifier sa taille C’est également la taille du nœud qui possède cette liste Les opérations principales d’une liste d’entrées : Nom insert remove Classe CCFEntry En étant donné un seuil d’absorption, on crée une entrée contenant un vecteur de CF nul Le fils d’une entrée est le nœud auquel i l pointe, autrement dit, c’est la sousclasse que cette entrée contient Chaque entré a une enveloppe qui est le nœud la contient une fois cette entrée est insérée cenœud Les opérations principales d’une entrée de CFs : Nom distance tightness add sub 50 Classe CCFVector C’est une classe vide qui supporte les opérations de calculer la distance, la compacité, l’addition et la soustraction d’une entrée décrite ci-dessus CCFNumVector est une classe qui hérite la classe CCFVector Elle se compose du nombre des points, de la somme linéaire des points et de la somme des carrées des points dans une sous classe Nous avons utilisé cette classe pour la classification des données purement numériques Expérimentation du BIRCH Nous avons testé l’algorithme BIRCH sur des jeux de données synthétiques, sur une machine Sun Solaris avec un processeur Sparcv9 vitesse 440 MHz, 256 Mo de RAM et le système d’exploitation SunOS Les relations Nombre de dimensions-Temps, Taille du jeu de données-Temps sont représentées par les schémas ci-dessous 40 35 classification 30 25 de 20 Temps 15 10 Figure : Relation du nombre de dimensions et le temps de classification Temps de classification Les schémas ci-dessus indiquent que le temps de classification augmente plus vite dans les espaces de haute dimension (un exemple pour le problème de malédiction de dimensionnalité) Figure : Relation du nombre de points et le temps de classification Les tests avec des aberrants indiquent que l’algorithme peut les bien distinguer 51 Chapitre Conclusion et perspectives La classification sur le flux de données est très mportantei dans divers domaines d’application dont les données arrivent sous forme d’un flux Elle permet d’analyser le comportement des utilisateurs d’un si te web, d’un réseau téléphonique, … en donnant un regroupement des utilisateurs selon leur similarité de comportement Ces connaissances sont vraiment utiles Plusieurs algorithmes sont proposés pour le problème général de classification Ils diffèrent par les méthodes de classification, esl mesures de proximité qu’ils utilisent, la nature des données qu’ils traitent Le choix d’un algorithme approprié dépend fortement de l’application, la nature des données et les ressources disponibles Une analyse attentive des données aide bien choisir le meilleur algorithme Il n’existe pas un algorithme qui peut répondre toutes les demandes BIRCH est incrémental et il utilise des résumés compacts de données au lieu des données initiales C’est pourquoi il est très fficace dans le traitement des gros jeux de données avec un espace limité Le concept esd vecteurs de CF aide fournir des classes significatives : une classe est représentée par des informations compactes mais suffisantes pour bien la décrire CLUSTREAM est un cadre pour la classification des flux de données évolutives en considérant un flux de données commeun processus qui change dans le temps L’utilisation du modèle fenêtre pyramidale de temps(pyramidal time window) assure que les statistiques essentielles des flux de données évolutives peuvent être capturées sans perdre en efficacité sur l’espace etle temps requis pour le processus de classification BIRCH et CLUSTREAM laissent encore des problèmes résoudre Ces deux algorithmes et leurs extensions peuvent traiter efficacement des données numériques et de type catégorie Pour un attribut dont le domaine de valeurs est extrêmement grand, la transformation en tableau disjonctif n’est pas réaliste, parce que le nombre d’attributs devient très grand Par conséquent, on rencontre le problème de malédiction de dimensionnalité.De plus, le choix d’une bonne augmentation du seuil d’absorption et une définition explicite des aberrants est encore un défi 52 Annexe Sommaire des algorithmes de classification Nom k-means Type d’algorithme Partition PAM Partition CLARA Partition CLARANS Partition CURE Hiérarchique BIRCH Hybride : partition pour résumer des données et n’importe quelle méthode pour la classification des résumés Basé sur densité DBSCAN DENCLUE Basé sur densité OPTICS Basé sur densité STING Basé sur 53 grille WaveClust er Basé sur grille CLIQUE Basé sur grille MAFIA Basé sur grille kprototypes Partition, données de catégorie k-modes Partition, données de catégorie Hiérarchique, données de catégorie Partition, données de catégorie ROCK STIRR CACTUS Partition, données de catégorie 54 Annexe Liste des figures Figure 1: Classification de lien simple (gauche) et complet (droite) d’objets contenant classes et avec le brut * Figure 2: La fonction d’influence gaussienne, un jeu de points et la fonction de densité globale Figure 3: Grille de taille uniforme (a) et Grille de taille adaptative (b) Figure 4: Une base de données et sa représentation de graphe Figure 5: Illustration d’un arbre de CFs Figure 6: Reconstruire l’arbre de CFs Figure 7: Relation du nombre de dimensions et le temps de classification Figure 8: Insertion des individus dans l’arbre de CFs Figure 9: Relation du nombre de points et le temps de classification 55 Références [1] P Berkshire: Survey of Clustering Data Mining Techniques, 2002 [2] P Andritsos: Data Clustering Techniques, 2002 [3] A K Jain, M N Murty, P J Flynn: Data Clustering: A Review, ACM Computing Serveys, Vol 31, No.3, September 1999 [4] Steinbach, Karypis, Kumar: A comparison of document clustering techniques, th ACM SIGKDD, World Text Mining Conference, 2000 [5] Z Huang: Extension to the k-means algorithm for clustering large data sets with categorical values, 1998 [6] P Bradley, U Fayyad, and C Reina: Scaling clustering algorithms to large databases Proceedings of the Fourth International Conference on Knowledge Discovery and Data Mining, 1998 [7] C Elkan: Using the Triangle Inequality to Accelerate k-means, Proceedings of the th 12 International Conference on Machine Learning, 2003 [8] G Karypis, E.H Han, V Kumar: CHAMELEON: A Hierarchical Clustering Algorithm Using Dynamic Modeling, 1999 [9] T Zhang, R Ramakrishnan, M Livny: BIRCH: A New Data Clustering Algorithm and Its Applications, 1996 [10] http://db.cs.sfu.ca/GeoMiner/survey/html/node9.html [11] C.M Fei, F.C Wing, O.S.K Yan, T.T Shing : Funny thing in clustering, 1997 [12] R.T Ng, J Han: Efficient and Effective Clusterig Methods for Spatial Data Mining, Proceedings of 1994 Int Conference on Very Large Databases, 1994 [14] http://www.isys.ucl.ac.be/etudes/cours/linf2275/09cours.pdf [15] V Faber : Clustering and Continuous K-means, Los Alamos Science, 1994 [16] M Ankerst, M Breunig, H.P Kriegel, S Sander: Ordering Points to Identify the Clustering Structure, SIGMOD 1999 [17] G Sheikholeslami, S Chatterjee, A Zhang: WaveCluster: A Wavelet-based clustering approach for spatial data in very large databases [18] R Agrawal, J Gehrke, D Gunopulos, P Raghavan: Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications, SIGMOD, 1998 [19] M Ester, H.P Kriegel, J Sander, M Wimmer, X Xu: Incremental Clustering for th Mining in a Data Warehousing Environment, Proceedings of 24 VLDB Conference, 1998 [20] S Guha, R Rastogi, K Sim : CURE : An Efficient Clustering Algorithm for Large Databases, SIGMOD, 1998 [21] V Castelli: Multidimensional Indexing Structures for Content-based Retrieval, IBM Research Report, 2001 [22] A McCallum, K Nigam, L Ungar: Efficient Clustering of High Dimensional Data Sets with Application to Reference Matching [23] S Goil, H Nagesh, A Choudhary: MAFIA: Efficient and Scalable Subspace for Very Large Data Sets, Technical Report [24] M Steinbach, L Ertöz, V Kumar: The Challenges of Clustering High Dimensional Data [25] S Guha, A Mayerson, N Mishra, R Motwani: Clustering Data Streams: Theory and Practice, 2003 [26] S Guha, N Mishra, R Motwani, L O’Callagha n: Clustering Data Streams 56 [27] S Guha, R Rastogi, K Shim: ROCK: A robust clustering algorithm for categorical attributes, Proceedings of the IEEE International Conference on Data Engineering, 1999 [28] D Gibson, J Kleinberg, P Raghavan.: Clustering categorical data: An approach based on dynamical systems Proceeding of the 24th VLDV Conference, 1998 [29] V Ganti, J Gehrke, R Ramakrishnan: CACTUS: Clustering Categorical Data Using Summaries Proceeding of the 5th International Conference on Knowledge Discovery and Data Mining, (KDD), 1999 [30] L O’Callaghan, N Mishra, A Meyerson, S Guha, R Motwani: Streaming-Data Algorithms For High-Quality Clustering, 2001 [31] C Aggarwal, J Han, J Wang, P Wu: A Framework for Clustering Evolving Data th Streams, Proceeding of 29 VLDB Conference, 2003 [32] R Webber, J Schek, S Blott: A quantitative analysis and performance study for similarity-search methods in highdimensional space Proceeding of the International Conference on VLDB, 1998 [33] X Zhou, G.Wang, J.X Yu, G.Yu: M+-tree: A New Dynamical Multidimensional th Index for Metric Spaces, Paper of 14 ADC (Australian Database Conference), 2003 [34] P Ciaccia, M Patella, P Zezula: M-tree: An Efficient Access Method rd for Similarity Search in Metric Space, Proceedings of 23 VLDB Conference, 1997 [35] A Guttman: R-trees: A Dynamic Index Structure for Spatial Searching, ACM 1984 [36] G Rozenberg: Curves That Fill Space [37] D.E.Knuth: The Art of Computer Programming, Addison Wesley, 1973 [38] J Kuan, P Lewis: A Study on Data Point Search for HG-trees [39] J K Lawder, P J H King: Querying Multi-dimensional Data Indexed Using the Hilbert Space-Filling Curve, SIGMOD Record, 2001 [40] J L Bently: Multidimensional Binary Search Trees Used for Associative Searching, ACM, 1975 [41] S Berchtold, B Ertl, D A Keim, H P Kriegel, T Seidl: Fast Nearest Neighbor th Search in High-dimensional Space, 14 ICDE, 1998 [42] F Aurenhammer: Voronoi Diagrams- A survey of a Fundamental Geometric Data Structure, ACM Computing Survey, 1991 [43] S Berchtold, D A Keim, H P Kriegei: The X-tree: An Index Structure for Highnd Dimensional Data, Proceedings of the 22 VLDB Conference, 1996 [44] N Beckmann, H P Kriegel, R Schneider, B Seeger: The R*-tree: An Efficient and Robust Access Method for Points and Rectangles, ACM, 1990 + [45] T Sellis, N Roussopoulos, C Faloutsos : The R -tree : A Dynamic Index for Multi-Dimensional Objects, In Proceedings of 13th Int Conf on VLDB, 1987 [46] N Katayama, S I Satoh: The SR-tree: An Index Structure for High Dimensional Nearest Neighbor Queries, ACM, 1997 [47] C Böhm, S Berchtold, D A Keim: Searching in High-Dimensional Spaces— Index Structures for Improving the Performance of Multimedia Databases, ACM Computing Surveys, 2001 [48] L Wu, T Bretschneider: Comparative Analysis of the Efficiency of R-tree Based Indexing Strategies for Information Retrieval [49] G H Cha, X Zhu, D Petkovic, C W Chung: An Efficient Indexing Method for Nearest Neighbor Searches in High Dimensional Image Databases, IEEE Transactions on Multimedia, 2002 57 [50] H Samet: The Quadtree and Related Hierarchical Data Structures, ACM Computing Surveys, 1984 [51] J Nievergelt, H Hinterberger: The Grid File: An Adaptable, Symmetric Multikey File Structure, ACM Transactions On Database Systems, 1984 [52] V Gaede, O Günther: Multidimensional Access Methods, ACM Computing Surveys, 1998 [53] M R Henzinger, P Raghavan, S Rajagopalan: Computing on Data Streams, SRC Technical Note, 1998 [54] B Babcock, S Babu, M Datar, R Motwani, J Widom: Models and Issues in th Data Stream Systems, Proceeding of 21 ACM Symposium on Principles of Database Systems, 2002 58 ... données apparaissent sous la forme d’un flux de données infini comme des enregistrements de coup de téléphone, lasurveillance de réseaux Pour ce type de données, les systèmes de gestion de basede données... représentants de la classe Les représentants visent capturer la forme et l’ampleur de la classe Le rétrécissement des points éparpillés vers meanle de la classe par un facteur a pour but de débarrasser... d’individus De nombreuses mesures de proximité sont proposées, se basant sur la nature de données La classification est une phase de groupement des individus dans les classes Plusieurs algorithmes de classification

Ngày đăng: 30/10/2020, 21:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w