République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université d'Oran Es Senia Faculté des sciences Département d'informatique Mémoire de Magistère Spécialité : Informatique Ecole doctorale des sciences et technologie de l’information et de la communication Option : Système d’information et de connaissance Thème : Clustering dans les bases de données Présenté par Nadjia Khatir Jury composé de : Bouabdellah Kechar Maître de ConférencesUniversité d’Oran Rachid Nourine Maître de Conférences Latifa Baba-hamedMaître de Conférences Safia Nait BahloulMaître de Conférences Université d’Oran Université d’Oran Université d’Oran Soufi OSMANI DocteurEHU d’Oran Invité Année Universitaire 2011-2012 Président Examinateur Examinateur Encadreur La classification non supervisée-Clustering- en Anglais est une étape importante du processus d’extraction de connaissance à partir de données (ECD). Elle vise à découvrir une structure intrinsèque d’un ensemble d’objets en formant des-Clusters- ou des regroupements qui partagent des caractéristiques similaires. L’augmentation de la dimension des données ces dernières décennies a eu des conséquences non négligeables sur les méthodes de traitement mises en œuvre. En effet, le nombre d’objets présents dans les bases de données a fortement augmenté ainsi que la taille de leurs descriptions. La santé, est un secteur où les données disponibles sont nombreuses et de nature variées (documents et rapports médicaux, fiches des patients, imagerie médicale, etc.) Ce mémoire est consacré à l’étude des méthodes et algorithmes de clustering sur des données médicales. Notre travail a pour une première contribution une plateforme pour l’application et la validation des algorithmes de clustering. La deuxième contribution réside dans l’évaluation statistique des résultats du clustering obtenus par les différents algorithmes sur des jeux de données de grande dimension d’expression des gènes. Nous proposons par la suite une méthode originale suffisamment générale basée sur les algorithmes de clustering, permettant la segmentation des images de sang microscopiques. Mots clés : Classification non supervisée; Clustering; Données médicales; Puces à ADN; Image microscopique; Expression des gènes; Data mining; Fouille de données; Apprentissage automatique; Analyse de données. Je remercie en premier notre grand Dieu pour m’avoir donné le courage et la volonté durant les moments difficiles. J’adresse tout d’abord mes remerciements à mon encadreur, pour avoir accepté de m’encadrer et m’avoir aidé à conduire ce travail jusqu’au bout : Madame Safia Nait Bahloul, maître de conférence à l’université d’Oran Es-Senia. Je souhaite lui exprimer ma profonde reconnaissance pour sa disponibilité, son regard critique et enfin pour la confiance qu’elle m’a accordée durant ces années. Je souhaite également adresser mes plus sincères remerciements aux membres du jury : Mr. Bouabdellah .Kechar, Mr. Rachid Nourine et Madame Latifa Baba Hamed, d’avoir accepté d’évaluer mon travail de mémoire. Je remercie aussi tous les enseignants du département d’Informatique de l’université d’Es-Senia, en particulier Mr Mustapha Kamel Rahmouni. Enfin, je voudrais remercier chaleureusement ma famille et belle famille qui ont toujours cru en moi en me poussant toujours à accomplir ce que je souhaitais, ils ont été des piliers indispensables par leur présence et leur affection. Table des matières Introduction générale.................................................................................................................. 1 Chapitre I. Classification et analyse des algorithmes de clustering ....................................... 4 I.1 Introduction............................................................................................................................................ 5 I.2 La taxonomie de Jain et Dubes .............................................................................................................. 5 I.3 La classification non supervisée ........................................................................................................... 6 I.4 Application du clustering....................................................................................................................... 6 I.4.1 La segmentation................................................................................................................................. 7 I.4.2 La classification .................................................................................................................................. 7 I.4.3 L’extraction de connaissance.............................................................................................................. 7 I.5 Les principales étapes du clustering ...................................................................................................... 8 I.5.1 La préparation des données................................................................................................................. 8 I.5.2 Le choix de l’algorithme..................................................................................................................... 9 I.5.3 La validation et interprétation des résultats ...................................................................................... 12 I.6 Les méthodes du clustering.................................................................................................................. 13 I.6.1 Le clustering hiérarchique ................................................................................................................ 13 I.6.2 Le clustering par partitionnement ..................................................................................................... 17 I.6.3 Les méthodes à base de densité ........................................................................................................ 24 I.6.4 Les méthodes à base de grille ........................................................................................................... 28 I.7 Techniques d’évaluation de la qualité du clustering............................................................................ 29 I.8 Challenges actuels en classification non supervisée ............................................................................ 31 I.8.1 Problème inhérents aux données traitées ......................................................................................... 31 I.8.2 Problème inhérents à des contraintes applicatives............................................................................ 32 Chapitre II. Le clustering des données d’expression des gènes ............................................ 33 II.1 Introduction ........................................................................................................................................ 34 II.2 Contexte biologique............................................................................................................................ 35 II .2.1 Généralités et définition du transcriptome.................................................................................. 35 II.2.2 Principe des puces à ADN et analyse du transcriptome .............................................................. 37 II.2.2.1 Les puces à ADN............................................................................................................ 37 II.2.2.2 Les jeux de données issues des puces à ADN .............................................................................. 39 Table des matières II.3 Enjeux et objectifs de l’analyse du transcriptome .............................................................................. 41 II.4 L’importance de l’informatique pour l’analyse des données issues des puces à ADN ...................... 42 II.5 Le principe du clustering des gènes.................................................................................................... 43 II.5.1 Les prérequis du clustering des gènes ........................................................................................... 43 II.5.2 Etat de l’art des méthodes de clustering des gènes.......................................................................... 46 II .5.2.1 Les méthodes de classification hiérarchiques.......................................................................... 47 II.5.2.2 Les méthodes de classification par partitionnement ..................................................................... 49 II.5.2.3 Les méthodes de classification floues .......................................................................................... 49 II.5.2.4La classification par les réseaux de Kohonen ............................................................................... 50 II.5.2.5 Les méthodes de classification basées sur un modèle .................................................................. 50 II.5.2.6 Les méthodes de classification basées sur les graphes ................................................................ 51 II.5.2.7 Les méthodes de biclustering ....................................................................................................... 51 II.6 Les défis du clustering des gènes ....................................................................................................... 52 Chapitre III.Contribution1 : Préparation d’une plateforme pour la validation des algorithmes de clustering.......................................................................................................... 53 III.1 Introduction ....................................................................................................................................... 54 III.2 Architécture fonctionnelle................................................................................................................. 54 III.3 Le module du prétraitement ............................................................................................................ 55 III.4 Le module du clustering.................................................................................................................... 57 III.4.1 Le module du clustering hiérarchique............................................................................................ 57 III.4.2 Le module du clustering par partitionnement ................................................................................ 59 III.4.2.1 Les algorithmes des K moyenne ................................................................................................. 59 III.4.2.2 L’algorithme CLARA ................................................................................................................. 63 III.4.2.3 L’algorithme PAM ...................................................................................................................... 66 III.4.2.4 L’algorithme QT ......................................................................................................................... 69 III.4.3 Le module du clustering par densité .............................................................................................. 70 III.4.4 Le module du clustering flou ......................................................................................................... 71 III.4.4.1 L’algorithme Fuzzy c means ....................................................................................................... 71 III.4.4.2 L’algorithmeFuzzy c shell........................................................................................................... 73 III.4.4.3 L’algorithme Fanny..................................................................................................................... 74 III.5 Le module de validation du clustering .............................................................................................. 76 III.5.1 La validation interne ...................................................................................................................... 76 III.5.2 La validation externe...................................................................................................................... 80 III.5.3 La validation biologique ................................................................................................................ 81 III.5 Technologies et langages de programmation .................................................................................... 83 Table des matières Chapitre IV.Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes.............................................................. 86 IV.1 Introduction................................................................................................................................... 87 IV.2 Présentation des jeux de données.................................................................................................. 87 IV.2.1 Description des données d’Armstrong V1 et V2 ......................................................................... 88 IV.2.2 Description des données de Golub V1 et V2 ............................................................................... 89 IV.2.3 Description des données de Shipp ............................................................................................... 89 IV.2.4 Description des données de Yeoh V1 et V2 ................................................................................ 89 IV.2.5 Description des données d’Alizadeh V1 V2 V3 .......................................................................... 90 IV.3 La validation externe des données ................................................................................................ 91 IV.4 La validation interne des données............................................................................................... 101 ChapitreV.Contribution3 : Evaluation des Algorithmes de Clustering sur la Plateforme: Cas des Images Microscopiques du Sang. .................................................................................................. 121 1. Problématique ................................................................................................................................. 122 2. Introduction à la segmentation d'images ......................................................................................... 122 3. La segmentation par clustering ....................................................................................................... 123 4. Etat de l'art des méthodes de segmentation des cellules de sang .................................................... 124 5. Notre approche de segmentation ........................................................................................................ 126 5.1. Le choix de l’espace couleur.......................................................................................................... 126 5.2. Le choix du nombre de classes....................................................................................................... 127 5.3. Algorithme général de segmentation.............................................................................................. 129 6. Résultats expérimentaux ................................................................................................................. 130 6.1. Méthodes d’évaluation .................................................................................................................... 130 6.1.1 L’indice de précision................................................................................................................... 130 6.1.2 Mesures d’erreurs de classification ............................................................................................. 131 6.1.3 Le temps d’execution des algorithmes ........................................................................................ 132 6.2. Description des images utilisées ..................................................................................................... 132 6.3. Evaluation des résultats................................................................................................................... 132 6.3.1 Discussion ................................................................................................................................... 135 Conclusion et perspectives. .................................................................................................................. 136 Références bibliographiques. .............................................................................................................. 138 Clustering pour les bases de données En Avril 2003, Le Consortium international de séquençage du génome humain (IHGSC 1 ) annonçait l’achèvement du Projet « Génome Humain ». La majorité des gènes humains était identifiée, les conséquences scientifiques et médicales du séquençage des génomes sont considérables : compréhension du fonctionnement et de l’évolution des organismes, diagnostic génétique et thérapie génique, nouveaux médicaments…Pourtant, L’achèvement du séquençage du génome humain correspond plutôt au début d’une aventure qu’à l’avènement d’une connaissance. En effet, la caractérisation de ces gènes, leurs fonctions et leurs interactions sont à ce jour encore très mal connues. Les puces à ADN, ou microarray, se révèlent être un outil puissant de biologie moléculaire, elles permettent de mesurer simultanément et quantitativement l’expression de plusieurs milliers de gènes Le principe de base est de comparer le transcriptome, c’est `a dire la quantité d’ARN transcrit pour chaque gène dans des cellules témoins au transcriptome de cellules traitées. Le rapport obtenu pour chaque gène permet de mesurer son expression. L’´etude simultanée de ces expressions peut donner une information riche sur la fonction des gènes et sur leur interaction. Etant donné le volume important des données considérées, l’analyse nécessite l’utilisation de techniques de fouille de données. Une des approches utilisée est la classification non supervisée (clustering en Anglais) de profils d’expression de gènes. Cette approche est basée sur l’idée que des gènes co-exprimés participent à une même fonction biologique [EIS 98], on cherche par des méthodes de classification non supervisée à mettre en lumière des groupes de gènes co-exprimés. Ainsi, le principe est, idéalement, à partir de données dont on ne sait rien et sur lesquelles on ne fait aucune hypothèse, d'obtenir des informations pertinentes, et à partir de celle-ci de découvrir de la connaissance, qui permettra au médecin ou au biologiste de mieux comprendre, analyser et prédire. Une méthode de classification non supervisée, pourquoi ? La classification non supervisée comme son nom l’indique, consiste à apprendre sans superviseur. A partir d’une population il s’agit d’extraire des classes ou groupes d’individus présentant des 1 http://www.ornl.gov/sci/techresources/Human_Genome/home.shtml 1 Clustering pour les bases de données caractéristiques communes. Elle possède l’avantage de ne pas nécessiter la détermination préalable de nombre de clusters recherchésLa classification non supervisée fut dans un premier temps utilisée dans les domaines d’application suivants : La médecine : découverte de classes de patients présentant des caractéristiques physiologiques communes ; Le traitement de la parole : construction de systèmes de reconnaissance de l’orateur ; L’archéologie : regroupement d’objets datant de l’âge de fer à partir de leur description ; L’éducation : structuration d’une classe d’ouvriers dans le domaine de l’industrie dutéléphone à partir de leurs besoins communs de formation. Présentation du problème : Dans ce contexte, les objectifs du mémoire ont été les suivants : -La conception et l’implémentation d’un outil pour l’analyse de données des expressions des gènes facilement exploitable par les médecins ou biologistes en se focalisant principalement sur les méthodes de clustering. -L’application les diverses techniques de la classification non supervisée aux données publiques hématologiques. -Comprendre quels sontAu regard des différentes stratégies de clustering applicables à l’analyse de donnéestranscriptomiques, les algorithmesles plus à même à apporter des réponses pertinentes aux questions du médecin ou du biologiste.Nous verrons que chaque méthode et, plus précisément, chaque paramètre (distance, transformation...) apporte un point de vue différent sur les données.Comment juger alors de la qualité du résultat ? Etant donnée la complexité des données, aucune structure claire et évidente ne ressort généralement.Sur quel critère juger le résultat, qui sera ensuite utilisé comme point de départ pour d’autres expériences biologiques ? Ledéfi consiste donc à conduire ces choix en conscience, compte tenu de leurs limites et de leur interprétationbiologique qui en est faite, afin de déterminer la technique, ou l’optique, qui offre lareprésentation la plus stable et éclairante au biologiste. Ces jugementss’appuient sur des méthodes rigoureuses de validation statistiques et biologique. -Localisation des gènes responsables des pathologies étudiées. 2 Clustering pour les bases de données Organisation du mémoire : Nous présentons tout d’abord dans le chapitre1un tour d’horizon des méthodes de classification non supervisée en les divisant en plusieurs familles (hiérarchique, par partition, par la densité, par la grille,…). Pour chaque technique, nous citons les algorithmes les plus utilisés et nous citons pour chacun ces points forts et ces points faibles. Puisle chapitre2est une introduction au contexte biologique, à la technologie des puces à ADN et la production de données en masse, avec une fiabilité de plus en plus grande. En montrant la nécessité du recours aux méthodes informatiques en particulier les algorithmes de clustering pour gérer, analyser, exploiter cette pléthore de données. Nous abordonsune étude bibliographique sur les principales méthodes de classification non supervisée utilisées pour la mise en évidence des groupes de gènes et/ou des échantillons suivant leur profil d’expression.Plusieurs travaux sont présentés pour comprendre les différents problèmes qui cherchent à être résolus ainsi que l’évolution de la recherche dans ce domaine récent. Le chapitre 3décrit les procédures que nous avons mis en place et la plateforme informatique que nous avons développé pour le traitement et l’analyse statistique des données issues des puces à ADN ainsi que des méthodes d’évaluations et de comparaisons des différents algorithmes. Dans lechapitre 4 nous avons mis en œuvre notre plateforme pour l’étudede dix jeux de données réels parmi lesquelles sont identifiées les leucémies (cancer du sang) tous types confondus cités largement dans la littérature. Lechapitre 5 à été introduit dans le mémoire décrivant nos travaux de recherche actuels sur les images microscopiques en utilisant les algorithmes de clustering. Enfin dans la conclusion, nous résumons les différentes méthodes développée pour résoudre le problème initialement posé et donnons quelques perspectives pour continuer ce travail. 3 Chapitre1. Classification et analyse des algorithmes de clustering I.1 Introduction : La classification de données est une problématique de recherche étudiée depuis de nombreuses années dans différentes communautés. En effet on attribue les premières recherches théoriques sur la classification aux besoins exprimés par les biologistes de spécifier des classes ou espèces animales. Progressivement, d’autres applications sont apparues. Après les biologistes, c’est les historiens, les médecins, les sociologues ou les didacticiens qui ont manifesté le besoin de classer leurs reliques, leurs patients ou leurs élèves. Aujourd’hui, en nous intéressant aux problèmes issus des technologies de l’information et de la communication, nous sommes amenés à traiter des données très complexes, par leur nature, leur taille, leur provenance, leur diversité. Ces données peuvent être, par exemple, du texte, des images, des séquences vidéo et tout support combinant ces différents types de données. I.2 La taxonomie de Jain et Dubes[JAN 88] : Plusieurs familles de méthodes de classification ont vu le jour. La figure suivante présente les différents types de méthodes regroupés sous forme d’une hiérarchie par Jain et Dubes. Nous donnons ici un rapide descriptif de ces méthodes : -Classification exclusive/non exclusive. Une méthode est dite exclusive si un objet ne peut être affecté qu’à une seule classe dans la partition finale. Dans le cas contraire, un objet peut appartenir à plusieurs classes simultanément, éventuellement avec des degrés d’appartenance qui indique pour chacune des classes, la probabilité que l’objet considéré y appartienne : on parle alors de classification floue. -On distingue ensuite deux types de traitement : la classification supervisée et non supervisée. Dans le premier cas, il s’agit de déterminer une procédure de classement de nouveaux objets parmi un ensemble de classes prédéfinies. La classification non supervisée, comme son nom l’indique, consiste à apprendre sans superviseur, à partir d’une population, il s’agit d’extraire des classes ou groupes d’objet présentant des caractéristiques communes, le nombre et la définition des classes n’étant pas donnés à priori. 5 Chapitre1. Classification et analyse des algorithmes de clustering -Enfin, on distingue les deux grandes familles d’approches, l’approche par partitionnement qui ne construit qu’une seule partition des données, alors que l’approche hiérarchique construit une séquence de partitions imbriquées. Figure .1. Taxonomie de la classification de Jain et Dubes[JAN 88]. La suite de ce chapitre est consacrée aux méthodes de classification développées pour traiter le problème de la classification non supervisée. I.3 La classification non supervisée : Depuis les années 1990, on peut considérer que la classification non supervisée (« Clustering » en Anglais) constitue un sujet de recherche incontournable en apprentissage, émanant d’une problématique plus générale, à savoir la classification.Son objectif, très général, consiste à séparer un ensemble d’objets en différents groupes (ou Clusters) en fonction d’une certaine notion de similarité. Les objets qui sont considérés comme similaires sont ainsi associés au même cluster alors que ceux qui sont considérés comme différents sont associés à des clusters distincts. I.4 Applications du Clustering : Selon l’application envisagée pour leClustering, les considérations ne sont pas les mêmes, et la définition même de l’intérêt d’une solution peut varier. Par exemple, lorsque l’objectif est de réduire la taille d’un jeu de données pour un traitement plus efficace, alors une solution est jugée optimale lorsqu’elle minimise la perte d’information liée à une telle compression des données. Si le clustering est utilisé sur des bases de données de clients dans le but de faire émerger des groupes de clients aux comportements différents, alors le critère de qualité d’un résultat est principalement basé sur une séparation importante des groupes formés. 6 Chapitre1. Classification et analyse des algorithmes de clustering Il existe de nombreuses applications possibles au Clustering, que l’on peut classer en trois groupes principaux [BER 02] : 1. La segmentation. 2. La classification. 3. Et l’extraction de connaissance. I.4.1 La segmentation : a pour objectif principal de réduire la taille de l’ensemble des données d’une base de données considérée. On parle dans ce cas de « Condensation » ou de « Compression des données». Elle est utilisée également pour « discrétiser » une base de données, c'est-à-dire transformer la description complexe des objets par un unique attribut caractérisant leur appartenance à une classe identifiée automatiquement. Les applications principales de telle technique concernent : l’identification des différents sous-espaces homogènes pouvant exister dans des bases de données pour aider à l’indexation efficace de telles bases ; la segmentation d’images, afin d’identifier les différentes zones homogènes de l’espace décrit (les maisons, routes, fleuves, etc.). I.4.2 La classification :concerne l’identification des sous populations ayant des caractéristiques proches.Dans les bases de données clients, par exemple, l’objectif principal est d’établir des profils de clients aux comportements similaires, afin de comprendre leurs attentes et leurs besoins en fonction de leur profil. De telles informations permettent alors d’adapter les actions marketing envers les clients en fonction de leur appartenance à une population donnée. Les applications principales de telles techniques concernent donc la gestion de la relation client, que ce soit dans la grande distribution, les banques, les assurances, les fournisseurs d’énergie, les opérateurs téléphoniques, les transports, les médias, les navigateurs web, etc. Cela peut également être appliqué aux cas des journaux en ligne ou des forums par exemple. I.4.3 L’extraction de connaissance : contrairement aux deux méthodes précédentes, l’utilisation du Clustering n’a pas d’objectif préétabli. Il s’agit dans ce cas d’aider à la compréhension de la structure des données en les organisant en groupes homogènes et en faisant ainsi émerger certains sous concepts dans les données. On parle dans ce cas de génération d’hypothèses ou de modélisation prédictive, par l’inférence de règles caractérisant les données, et la suggestion de modèles sous jacents à ces données. L’intérêt de telles techniques est par exemple avéré pour effectuer des diagnostics médicaux sur des bases de données de patients, en ciblant par exemple 7 Chapitre1. Classification et analyse des algorithmes de clustering différents groupes de patients atteints d’une maladie donnée, reflétant ainsi différentes causes possibles pour la maladie. De même, cette technique peut être utilisée en analyse du web, en analyse des données textuelles, en analyse de ventes, en bioinformatique,en analyse génétique, etc. I.5 Les principales étapes du Clustering : La classification, bien que primordiale dans toutes les applications citées précédemment, n’est pas la seule phase à considérer avec attention lors du développement d’un outil d’extraction et d’analyse de l’information. En effet, le processus declusteringse divise en trois étapes principales (voir la figure 2) : (1) La préparation des données, (2) Le choix de l’algorithme de clustering et (3) validation et interprétation des résultats [CLE 04]. Figure .2. Les différentes étapes du processus de clustering. I.5.1 La préparation des données : l’étape de prétraitement consiste à filtrer les informations, ne conserver que ce qui est pertinent dans le contexte de l’étude, et coder ces données pour ne retenir que les paramètres de description les plus discriminants. Ce débruitage est nécessaire pour pouvoir donner un sens aux résultats obtenus à l’issue de la classification des données. 8 Chapitre1. Classification et analyse des algorithmes de clustering I.5.2 Lechoix de l’algorithme: Le choix de l’algorithme de clustering doit donner lieu à une analyse globale du problème : quelle est la nature (qualitative et quantitative) des données ? Quelle est la nature des clusters attendus (nombre, forme, densité, etc.) ? L’algorithme doit alors être choisi de manière à ce que ses caractéristiques répondent convenablement à ces deux dernières questions. Les critères de décision peuvent être : les connaissances à priori, la présentation des résultats, complexité, déterministe, incrémental, any time, hard, prise en compte du contexte, tolérance au bruit, tolérance à l’effet de chaîne, tolérance aux clusters de tailles variées, tolérance aux clusters de forme quelconque, tolérance aux clusters concentriques [CAN 06]. -Les connaissances à priori :sont un premier critère important à prendre en compte dans le choix de l’algorithme ; il s’agit souvent d’informations concernant le nombre de clusters recherchés, la distance minimale entre clusters disjoints, ou la densité minimale à l’intérieur des clusters ; -La présentation des résultats : on peut différencier les algorithmes fournissant en sortie une hiérarchie de clusters des méthodes fournissant en sortie une partition de l’ensemble des objets ; -La complexité : est également un critère important à considérer ; en particulier, il est admis que la complexité des algorithmes doit être linéaire en fonction du nombre d’objets dans le cas de larges bases de données ; il faut dès lors éviter tout algorithme basé sur le calcul des distances deux à deux entre objets, menant à une complexité quadratique en fonction du nombre d’objets ; -Déterminisme : avec les mêmes données en entrée, un algorithme déterministe exécutera toujours la même suite d’opérations et fournira donc toujours le même résultat alors qu’un algorithme stochastique pourra donner des résultats différents car il permet l’exécution d’opérations aléatoires ; -Incrémentation : est la capacité d’un algorithme de traiter des données de façon incrémentale, c'est-à-dire en les intégrant au fur et à mesure de leur arrivée dans l’algorithme ; à l’inverse, un algorithme non incrémental va considérer un ensemble de données fournies en entrée et sera exécuté sur cet ensemble de données, et si par la suite une nouvelle données devait être fournie en entrée de l’algorithme, celui-ci devrait être relancé à nouveau ; -Un algorithme « any-time » : est capable de fournir un résultat intermédiaire, à n’importe quel moment du déroulement de l’algorithme, des algorithmes nécessitant l’accomplissement total de l’algorithme avant d’être capable de fournir un résultat ; -Un algorithme hard : on distingue les algorithmes hard qui associent à chaque objet un unique cluster, des algorithmes soft qui associent à chaque objet un degré variable d’appartenance à chacun des clusters formés. 9 Chapitre1. Classification et analyse des algorithmes de clustering -Prise en compte du contexte : est la capacité des algorithmes à prendre en compte ou non la problématique du contexte ; autrement dit, on distingue à ce niveau les algorithmes de subspace clustering des algorithmes de clustering traditionnel ; -Latolérance au bruit : est la capacité d’un algorithme de gérer le bruit qui peut exister dans les données, c'est-à-dire la possible présence d’objets qui ne suivent pas la distribution générale des autres objets ; -La tolérance à l’effet de chaîne :il s’avère utile qu’un algorithme soit capable de faire face au problème de l’effet de chaîne, illustré par la figure3 et qui fait que des clusters proches mais distincts peuvent être fusionnés s’il existe une chaîne d’objets qui les relie ; -La tolérance aux clusters de tailles variées il s’avérer important qu’un algorithme soit capable de détecter le type de clusters ; en particulier ; les clusters de tailles ou de densités variées, comme dans le cas de la figure4. -La tolérance aux clusters de forme quelconque et concentriques :est la capacité d’un algorithme d’identifier des clusters de forme quelconque, et aussi éventuellement des clusters concentriques, c'est-à-dire inscrits les uns dans les autres, comme dans le cas de la figure5. Figure .3. Problématique de l’effet de chaîne. 10 Chapitre1. Classification et analyse des algorithmes de clustering Figure .4. Problématique des clusters de tailles et de densités variées. Figure .5. Problématique des clusters de formes variées et concentriques. 11 Chapitre1. Classification et analyse des algorithmes de clustering I.5.3Validation et interprétation des résultats : Cette phase est dépendante de l’ensemble de la chaîne en amont. Plus les sources de données sont de bonne qualité et plus il sera aisé d’interpréter les résultats de la classification. De la même manière, ces résultats seront d’autant moins fiables ou crédibles que les informations à la base étaient bruitées ou corrompues. Deux situations sont possibles : soit la tâche de clustering s’inscrit dans un traitement global d’apprentissage, soit les clusters générés par le clustering constituent un résultat final.Dans le premier cas, l’analyse des clusters obtenus (mesures statistiques de qualité) peut aider à orienter le traitement suivant et une description des clusters n’est pas nécessaire dans cette situation. En revanche, dans le cas où le clustering constitue à lui seul un processus global de découverte de classe, l’exploitation des clusters pour une application donnée passe par une description de ces derniers. En pratique, il existe quatre méthodes principales pour mesurer la qualité des résultats d’algorithmes de clustering : -L’utilisation des données artificielles : pour les quelles le regroupement attendu est connu, et comparer les résultats obtenus aux résultats attendus. On parle dans ce cas d’évaluation externe. Mais les méthodes sont alors évaluées uniquement sur les distributions spécifiques correspondantes, et les résultats sur données artificielles ne peuvent pas être généralisés aux données réelles. -L’utilisation des jeux de données étiquetés : utiliser des jeux de données étiquetés et observer si la méthode retrouve les classes initiales. Mais les classes d’un problème supervisé ne correspondent pas nécessairement aux groupes qu’il est pertinent d’identifier pour une méthode non supervisée, d’autres regroupements pouvant être plus appropriés. -L’utilisation des critères numériques : tels l’inertie intra clusters ou la séparation inter clusters. On parle dans ce cas d’évaluation interne. Mais de tels critères ont une part importante de subjectivité car ils utilisent des notions prédéfinies de ce qu’est un bon clustering. Par exemple, la séparation des clusters n’est pas toujours un bon critère à utiliser car parfois, des clusters qui se chevauchent peuvent être plus pertinents. -L’utilisation d’un expert :pour évaluer le sens d’un clustering donné dans un champ d’application spécifique 12 Chapitre1. Classification et analyse des algorithmes de clustering I.6Les méthodes du Clustering : Dans cette partie, nous dressons un panorama des différentes méthodes de clustering rencontrées dans la littérature, nous ne prétendons pas faire une liste exhaustive de l’ensemble des notions et méthodes existant dans le cadre du clustering, mais plutôt de donner un aperçu général du fonctionnement des différentes méthodes avec chacune ses atouts et ses limites. Il est ainsi admis dans la communauté travaillant sur le clustering qu’aucun critère ni aucune méthode ne sont intrinsèquement meilleurs que d’autres sur l’ensemble des problématiques envisageables. Par contre, on considère que certaines méthodes sont plus adaptées que d’autres en fonction de l’application ciblée. On distingue classiquement deux grandes familles de méthodes en clustering : Les méthodes hiérarchiques. Les méthodes par partition. Dans le premier cas, une hiérarchie de clusters est formée de telle manière que plus on descend dans la hiérarchie, plus les clusters sont spécifiques à un certain nombre d’objets considérés comme similaires. Au contraire, dans le second cas, le résultat fourni est une partition de l’espace des objets, c'est-à-dire que chaque objet est associé à un unique cluster. I.6.1 Le clustering hiérarchique : Le fondement du clustering hiérarchique est de construire une hiérarchie de clusters (ou dendrogramme) tel que présenté en figure 6 et formalisé par la définition suivante : La racine de l’arbre est formée par le cluster X contenant l’ensemble des objets, Chaque nœud de l’arbre constitue un cluster Ci X, Les feuilles de l’arbre correspondent aux singletons x1 , ..., x N , L’union des objets contenus dans les fils d’un nœud donné correspondent aux objets présents dans ce nœud, Les « Paliers » sont indicés relativement à l’ordre de construction. Afin de parvenir à un tel arbre hiérarchique, il existe deux méthodes principales : La méthode ascendante (agglomérative ou Bottom up) : Construit l’arbre du « bas » vers le « haut » en démarrant avec autant de clusters que d’objets initiaux dans la base, puis fusionnant successivement les clusters considérés comme les plus similaires, jusqu’à obtenir un unique cluster « racine », contenant l’ensemble des objets. 13 Chapitre1. Classification et analyse des algorithmes de clustering La méthode descendante (divisive, Top down) : Construit l’arbre du « haut » vers le « bas » en démarrant avec un unique cluster contenant l’ensemble des objets de la base, puis divisant successivement les clusters de manière à ce que les clusters résultants soient les plus différents possibles, et ce jusqu’à obtenir des singletons (autant de clusters que d’objets dans la base). Ensuite, une fois la hiérarchie formée, une étape optionnelle peut être ajoutée pour affiner le résultat. Il s’agit de déterminer le niveau L de coupure le plus approprié à appliquer dans l’arbre pour un regroupement des données aussi pertinent que possible. Par exemple, le choix du niveau de coupure (L=4) dans le dendrogramme de la figure 6 renvoie le partitionnement suivant : C= x1 , x2 , x3 , x4 , x5 , x6 . Ce dernier paramètre « L » peut être choisi relativement au nombre de clusters désirés ou à l’aide d’une analyse statistique de la qualité des différentes partitions que l’on peut extraire de l’arbre. Figure .6. Exemple de dendrogramme. 14 Chapitre1. Classification et analyse des algorithmes de clustering Les critères d’agrégation : La classification hiérarchique initialise un système de classe comme un ensemble de singletons (dans le cas agglomératif) ou comme un seul cluster qui contient toutes les données (dans le cas divisif) et procède itérativement par fusion ou éclatement des clusters les plus adéquats jusqu’à ce qu’un critère d’arrêt soit satisfait. La concordance d’un cluster pour la fusion/éclatement dépend de la (dis) similarité des éléments du cluster. Cela reflète l’hypothèse générale que les clusters contiennent des objets similaires. Pour fusionner/éclater des ensembles d’objets plutôt que des objets à part, on doit généraliser la distance entre des objets individuels à la distance entre sous ensembles. De telles mesures de proximité désirées, sont appelées critères d’agrégation ou critères du lien (en anglais linkage metrics). De nombreux critères d’agrégation ont été proposés, la difficulté du choix du critère d’agrégation réside dans le fait que ces critères peuvent déboucher sur des résultats différents. Les plus connus sont : Le critère du saut minimal : (Single link) Pour single link, la distance entre deux clusters est le minimum des distances entre toutes les paires d’objets appartenant à des clusters différents. La distance entre 2 clusters C1 et C2 est définie par la plus courte distance séparant un individu de C1 et un individu de C2 : D C 1, C 2 min d x , y , x C 1 , y C 2 Le critère du saut maximal: (Complete link) Pour la méthode complete link, on utilise le maximum de ces distances ; la distance entre 2 classes C1 et C2 est définie par la plus grande distance séparant un individu de C1 et un individu de C2 : D C 1, C 2 max d x , y , x C 1 , y C 2 Le critère de la moyenne: (Average link) Pour la méthode average link, on utilise la moyenne de ces distances ; ce critère consiste à calculer la distance moyenne entre tous les éléments de C1 et tous les éléments de C2 : D C 1, C 2 1 nC1 nC 2 xC 1 yC 2 d x, y Avec : nC1 est le cardinal de C1 et nC2 est le cardinal de C2. Le critère de Ward : Le critère de Ward consiste à choisir à chaque étape le regroupement de classes tel que l’augmentation de l’inertie intra classe soit minimal. Il ne s’applique que dans un espace Euclidien. La distance entre deux classes C1 et C2 est définie par : D C 1, C 2 nc n c 2 1 nC1 n C 2 15 d 2 gc 1 , gc 2 Chapitre1. Classification et analyse des algorithmes de clustering Avec : gc1 est le centre de gravité de C1 et gc2 le centre de gravité de C2 Le critère des centres de gravité : La distance entre deux classes C1 et C2 est définie par la distance entre leurs centres de gravité comme suit : D C 1 , C 2 d gc 1 , gc 2 Il y a de nombreux algorithmes de type hiérarchique qui sont proposés dans la littérature, les plus connus sont : BIRCH pour le groupement agglomératif et DIANA pour le groupement divisif. Il existe très peu d’algorithmes divisifs, notamment à cause de la difficulté à définir un critère de n1 séparation d’un cluster. En effet pour un cluster de taille n, il y a 2 1 possibilités pour diviser ce cluster en deux sous clusters. Dans le cas agglomératif, chaque fusion de deux clusters parmi n, n n 1 offre seulement 2 possibilités. Avantages des méthodes hiérarchiques: Une fléxibilité concernant le niveau de granularité. La facilité de manipulation de toute forme de similarité ou de distance entre objets. Applicable aux différents types d’attributs. Inconvénients des méthodes hiérarchiques: Bien que ces méthodes soient largement utilisées, elles deviennent difficilement utilisables face à de larges bases de données, car la complexité est quadratique en fonction du nombre d’objets de la base, puisque les distances entre toutes les paires d’objets possibles doivent être calculées. Elles ne peuvent pas être utilisées de façon incrémentale, puisque les distances entre toutes les paires d’objets possibles doivent être calculées. Elles ne peuvent pas être utilisées de façon incrémentale, puisque ces méthodes ne peuvent jamais défaire ce qu’elles ont déjà fait auparavant. Elles souffrent du problème de « l’effet de chaîne », c'est-à-dire que les clusters proches mais distincts peuvent être fusionnés s’il existe une chaîne d’objets qui les relie. Le choix du critère d’arrêt qui reste vague. 16 Chapitre1. Classification et analyse des algorithmes de clustering I.6.2 Le clustering par partitionnement : Contrairement aux méthodes de classification hiérarchiques précédentes,qui construisent les classes progressivement, les algorithmes de partitionnement construisent directement, en sortie, une partition de l’espace des objets en k classes. Le principe général, par définition d’une partition, cela signifie que chaque classe doit contenir au moins un objet, et que chaque objet doit appartenir à une classe unique. Pour ce faire, étant donné le nombre de classes k requises, ces algorithmes génèrent une partition initiale, puis cherchent à l’améliorer en réattribuant les objets d’une classe à une autre. En pratique il est impossible de générer toutes les partitions de clustering pour des raisons évidentes de complexité. On cherche alors une « bonne » partition correspondant à un optimum local en optimisant une fonction objectif qui traduit que les objets doivent être « similaires » au sein d’une même classe, et « dissimilaires » d’une classe à une autre. Cet optimum est obtenu de façon itérative, en améliorant la partition initiale choisie plus ou moins aléatoirement, par réallocation des objets autour de centres mobiles. Les classes sont représentées par leur « centroïdes », qui correspond à la moyenne de l’ensemble des objets contenus dans la classe. La méthode la plus classique et qui reste très utilisée est celle des k-means et les nombreuses variations qui en découlent. Les méthodes des k-moyennes : L’algorithme k-means, ou l’algorithme des k-moyennesa été introduit par J.MacQuenn. Il est sans aucun doute la méthode de partitionnement la plus connue et la plus utilisée dans divers domaines d’application scientifiques et industrielles. Ce succès est dû au fait que cet algorithme présente un rapport coût/efficacité avantageux. Dans sa version classique, l’algorithme consiste à sélectionner aléatoirement k objets qui représente les centroïdes initiaux. Un objet est assigné au cluster pour lequel la distance entre l’objet et le centroïde est minimale. Les centroïdes sont alors recalculés et l’on passe à l’itération suivante. La fonction objectif traditionnellement utilisée est : F r 1 x i g r k x i c r Où : Cr est la classe numéro r Xi est un objet dans une classe gr est le centre de classe Cr 17 2 Chapitre1. Classification et analyse des algorithmes de clustering La figure 7montre un exemple de déroulement de l’algorithme k-means sur un nuage d’objets bidimensionnels, avec k=3 : La figure 7.a : choix aléatoire de trois centre initiaux (objets) marqués par (+) et affectation de chaque objet restant au centre le plus proche ; La figure 7.b : calcul du nouveau centre pour chaque classe (moyenne des objets de la classe) et redistribution des objets selon les nouveaux centres ; La figure 7.c : le processus est répété jusqu’à stabilité des classes. Figure .7.Partitionnement basé sur k-means. L’algorithme général de ces méthodes : Données : k le nombre maximum de classes désiré. Début (1) (2) (3) (4) (5) Choisir k objets au hasard (comme centre des classes initiales) Affecter chaque objet au centre le plus proche Recalculer le centre de chacune de ces classes Répéter l’étape (2) et (3) jusqu’à stabilité des centres Editer la partition obtenue. FIN L'algorithme des k-means ne peut être utilisé que sur des données décrites par des attributs numériques permettant ainsi le calcul des centroïdes. Dans le cas d'attributs symboliques (ou catégoriels) plusieurs variantes ont été proposées : méthodes des centres mobiles et méthodes des nuées dynamiques. 18 Chapitre1. Classification et analyse des algorithmes de clustering L’algorithme des centres mobiles: L’auteur de cette méthode est Forgy en 1965 [FOR 65], le principe de l’algorithme consiste à construire une partition en k classes en sélectionnant k objets au hasard de l’ensemble des objets et les considérer comme centres des classes. Après cette sélection, on affecte chaque objet au centre le plus proche en créant k classes, les centres des classes seront remplacés par des centres de gravité. Ainsi des nouvelles classes seront crées. Généralement la partition obtenue est localement optimale car elle dépend du choix initial des centres. Pour cette raison, les résultats entre deux exécutions de l’algorithme sont significativement variés. Données : k le nombre maximum de classes désiré. Début (1) (2) (3) (4) (5) Choisir k objets au hasard (comme centre des classes initiales) Affecter chaque objet au centre le plus proche, ce qui donne une partition en k classes P1= {C1,…,Ck} On calcule les centres de gravité de chaque classe de P1, ce qui donne k nouveaux centres de classes Répéter l’étape 2 et 3 jusqu’à ce que deux itérations successives donnent la même partition Editer la partition obtenue. FIN Avantages des k-moyennes: Comme avantages de cet algorithme, on cite : Grande simplicité. Compréhensible. Les classes sont facilement interprétables et représentées naturellement par les centroïdes. Il s’adapte bien pour des populations de grandes tailles. Complexité algorithmique est intéressante, puisqu’elle est en nkt où t est le nombre d’itérations, n le nombre d’objets et k le nombre de classes. L’algorithme converge, généralement, avec k et t suffisamment inférieur à n (k, t<<n). Inconvénients des k-moyennes: Parmi les inconvénients de cet algorithme, on cite : Le nombre de classes doit être fixé au départ. Le résultat dépend du tirage initial des centres des classes. Il ne détecte pas les données bruitées (isolées). Il converge souvent vers un optimum local. 19 Chapitre1. Classification et analyse des algorithmes de clustering Il est applicable seulement dans le cas où la moyenne des objets est définie. Il n’est pas adapté pour découvrir des classes avec des structures non convexes, et des classes de tailles et formes différentes. Les méthodes des k-médoïdes : Les méthodes des k-médoïdes se différencient de la méthode des k-moyennes par l’utilisation de médoïdes plutôt que des centroïdes pour représenter les classes. L’esquisse de ces méthodes ressemble à celle des k-moyennes sauf que, contrairement à l’algorithme k-means où la classe est représentée par une valeur moyenne, le centroïde, dans l’algorithme k-medoïdes une classe est représentée par un de ses objets prédominants, le médoïde. L’algorithme a été introduit initialement par Kaufman et Roussew, c’est un algorithme itératif combinant la réaffectation des objets dans des classes avec une intervention des médoïdes et des autres objets. La figure 8 est une illustration du déroulement de l’algorithme k-médoïdes sur un nuage d’objets bidimensionnels avec k=3 : Figure .8. Partitionnement basé sur k-médoïdes. La figure 8.a : choix des trois centres initiaux marqués par une couleur rouge et affectation de chaque objet restant au centre le plus proche ; La figure 8.b : calcul des nouveaux médoïdes pour chaque classe et redistribution des objets selon les nouveaux médoïdes (le médoïde étant l’objet le plus proche du centroïde de la classe) ; La figure 8.c : le processus est répété jusqu’à stabilité des classes. Avantages des méthodes k-médoïdes : Comme avantages de ces méthodes par rapport à k-means, on cite : C’est des méthodes simples parce qu’elles couvrent n’importe quel type de variables. Elles sont insensibles aux objets isolés ou erronées. Flexibles avec tout type de distance. 20 Chapitre1. Classification et analyse des algorithmes de clustering Inconvénients des méthodes k-médoïdes : Nécessitent de spécifier le nombre de clusters k. La recherche des médoïdes étant plus coûteuse que le simple calcul de centroïdes. La complexité de chaque itération est en k n k 2 .Des extensions de l’algorithme kmédoïdes ont été proposées dans le cas du traitement de larges ensembles de données. Pour améliorer la qualité de clustering de l’algorithme k-médoïdes, de nombreuses variantes s’y sont succédées, nous présentons ici quelques versions des méthodes des k-médoïdes : PAM CLARA CLARANS L’algorithme PAM: PAM (Partitioning Around Medoids) a été développé par Kaufman et Rousseeuw en 1987[ROU 87]. L’idée principale de cet algorithme consiste à commencer avec un ensemble de k médoïdes puis échanger le rôle entre un objet médoïde et un non-médoïde si l’échange permet de réduire la distance globale. Les principales étapes de l’algorithme PAM sont comme suit : Avantage de l’algorithme PAM: L’avantage de cet algorithme est qu’il est plus robuste que les méthodes k-means en présence de bruit. Inconvénients de l’algorithme PAM: l’inconvénient majeur de cet algorithme vient de la complexité quadratique des calculs de l’ordre de k n k 2 pour chaque itération ce qui est plus coûteux en cas de k et n assez grand. Ce qui conduit à dire que l’algorithme est intéressant et efficace en cas de données de petite taille. L’algorithme CLARA: L’algorithme CLARA (Clustering LARge Application) a été introduit par Kaufman et Rousseeuwen 1990[ROU 90] dans le but de réduire le coût de calcul de PAM et pour traiter des données de taille moyenne ou grande. Cet algorithme travaille sur des échantillons, il effectue une recherche locale des représentants en opérant sur plusieurs échantillons de données, ensuite l’algorithme PAM sera appliqué à chacun d’entre eux et le résultat obtenu est le meilleur parmi les différents résultats. Les points de l’échantillon total sont alors affectés aux représentants résultants. L’algorithme est, généralement, exécuté sur plusieurs échantillons pour obtenir le meilleur résultat. Les auteurs montrent, suite à leurs expérimentations, que la taille d’un échantillon de (40+2k) où k étant le nombre de classes, donne un bon résultat. 21 Chapitre1. Classification et analyse des algorithmes de clustering Les principales étapes de l’algorithme CLARA sont comme suit : Données : k le nombre maximum de classes désiré. Début (1) (2) (3) (4) (5) Tirer un échantillon de 40+2k objets Appliquer PAM sur l’échantillon Calculer la qualité (comme dans l’algorithme PAM) de la partition engendrée sur l’ensemble des données Si la qualité trouvée est la plus faible déjà déterminée, Mémoriser les représentants déterminés à l’étape 3 FIN Inconvénients de l’algorithme CLARA: Paramètre d’échantillonnage choisi expérimentalement, Le principal inconvénient de l’algorithme CLARA, outre les difficultés d’échantillonnage, est que si un objet qui serait le meilleur médoïde n’apparaît dans aucun échantillon, alors la meilleure solution ne pourra jamais être atteinte. Exploration réduite de l’espace de recherche. L’algorithme CLARANS: L’algorithme CLARANS (CLustering Algorithm based on RANdomized Search) été introduit par Raymon Ng et Jiawei Han en 1994. Les auteurs ont proposé une méthode originale de recherche d’un ensemble optimal de k médoïdes. La méthode consiste à construire un graphe Gn,k (graphe de classification de n individus et de k classes), où chaque nœud(sommet) dans le graphe est représenté par un ensemble de k objets médoïdes(représentants). Et possède k*(n-k) voisins. Deux nœuds sont voisins si leurs ensembles diffèrent par un seul médoïde. A partir du graphe, l’algorithme commence par choisir un nœud au hasard puis parcourt le graphe de voisin en voisin jusqu’à observer un minimum local. Ce processus est itéré plusieurs fois, et le meilleur schéma est retourné. Les principales étapes de l’algorithme CLARANS sont comme suit : 22 Chapitre1. Classification et analyse des algorithmes de clustering Début (1) Fixer les paramètres NUMLOCAL et MAXNEIGHBOR,puis initialiser I à 1 et MINCOST au coût maximal possible où :NUMLOCAL est le nombre de minimaux locaux, MAXNEIGHBOR est le nombre de maximum de voisins d’un sommet de graphe Gn,k , (2) Choisir aléatoirement un nœud X du graphe à explorer (3) J=1 (4) Considérer un voisin Y de X et calculer le coût différentiel TCx->Y (5) Si (TCx->Y<0), alors X=Y et retourner en 3 (6) Sinon, J=J+1 (7) Si (J<MAXNEIGHBOR), alors retourner en 4 (8) Si (MINCOST > COST(X)), alors MINCOST=COST(X) et BEST=X (9) I=I+1 si (I<NUMLOCAL), retourner en 2) (10) Sinon, retourner la solution correspondent à BEST. FIN Avantages de l’algorithme CLARANS: Cet algorithme de clustering a tous les avantages de PAM et de CLARA avec une complexité linéaire par rapport au nombre d’objets. Les auteurs ont montré par l’expérimentation que l’algorithme fournit toujours les meilleurs résultats par rapport à PAM et à CLARA. Inconvénients de l’algorithme CLARANS: Sensibilité aux paramètres choisis, Complexité de l’ordre de O(k.n2) Données numériques de petite dimension. 23 Chapitre1. Classification et analyse des algorithmes de clustering I.6.3 Les méthodes à base de densité: Un ensemble ouvert dans l’espace Euclidien peut être divisé en un ensemble de ses composantes connectées. L’implémentation de cette idée pour le partitionnement d’un ensemble fini de points a besoin de tels concepts comme la densité, la connectivité et les limites (extrémité, bordure, frontière). Les algorithmes de clustering par densité se basent sur une notion similaire complétée par d’autres concepts fondamentaux tels que le voisinage d’un objet, l’objet noyau, l’accessibilité ou la connexion entre objets. Sur un principe comparable aux algorithmes de réallocation dynamique, les méthodes basées sur la densité cherchent à découvrir des clusters pour lesquels tous les objets sont en relation avec un même objet central : -Dans le cas des méthodes par réallocation, les objets centraux sont les objets représentatifs (centroïdes, médoïdes etc.) et la relation est basée sur la similarité, -Pour les méthodes basées sur la densité, les objets centraux ont des noyaux par lesquels les autres objets sont d-accessibles. Avant de développer les algorithmes, nous proposons de définir chacune de ces notions : Soit : X : ensemble d’objets ; : Rayon maximum de voisinage ; MinPts : nombre minimum d’objets dans le voisinage d’un point. Définition 1 : soit un objet p X ; le voisinage V p de p par rapport à un rayon est défini par l’ensemble des points de X , distants d’au plus de p : V p q X / d p, q Définition 2 : soit deux objets p, q X , et MinPts deux paramètres fixés ; p est « directement densité-accessible » à partir de q , si et seulement si les deux propriétés suivantes sont vérifiées (voir la figure 9) : 1. p V q 2. V q MinPts( q est dit noyau) Ainsi p est « directement densité-accessible » par q si le voisinage de q contient au minimum Minpts objets, dont p . Figure .9.Illustration du concept « directement densité-accessible ». Définition 3 : soit deux objets p, q X , etMinPts deux paramètres fixés, 24 p est « densité- Chapitre1. Classification et analyse des algorithmes de clustering accessible » par q si il existe une chaîne p1 ,..., p m dans X telle que p1 q, p m p et pi 1 est directement densité-accessible par pi (voir la figure 10). i 1,..., m 1 , Figure .10.Illustration du concept « densité-accessible ». Définition 4 : soit deux objets p, q X , et MinPts deux paramètres fixés ; p est « densitéconnecté » à q si il existe un objet o X telle que p et q sont tous deux « d-accessible » par o (voir la figure 11). Figure .11.Illustration du concept « densité-connecté ». Définition 5 : soient X l’ensemble des objets, et MinPts deux paramètres fixées. Un densitécluster C X est un ensemble non vide dans X vérifiant les propriétés suivantes : 1. Maximalité : p, q X : si p C et q est densité-accessible par p , alors qC 2. connectivité : p, q C : p est densité-connecté à q . Lemme 1 :soit p un objet noyau dans X et E l’ensemble des objets densité-accessibles par p : alors E est un densité-cluster. Lemme 2 :soit C un densité-cluster et p un noyau dans C : alors C est l’ensemble des objets densité-accessibles par p Les deux lemmes précédents, permettent d’orienter la recherche d’un densité-cluster. En effet, la construction d’un tel cluster revient à rechercher d’abord un objet noyau puis à agglomérer autour de ce noyau, tous les objets densité-accessibles par ce noyau. 25 Chapitre1. Classification et analyse des algorithmes de clustering Avantagesdes méthodes à base de densité : L’intérêt de ces méthodes est de ne pas limiter la recherche uniquement aux clusters constitués d’objets très similaires, mais au contraire, d’autoriser la formation de classes d’objets moins « proches » mais de densités homogènes. Il existe deux types d’approches à base de densité : -Approches basées sur la connexité de densité : ce type d’approche attache la densité à un point qui appartient aux données d’apprentissage et compte des algorithmes spécifiques comme : DBSCAN, OPTICS et DBCLASD. -Approches basées sur la fonction de densité : ce type d’approche attache la densité à un point dans l’espace d’attributs. Il inclut l’algorithme DENCLUE. L’algorithme DBSCAN: L’algorithme DBSCAN (Density Based Spatial Clustering of Applications with Noise) été introduit par Ester, Kriegel, Sander et Xu en 1996[MAR 96]. L’algorithme est basé sur l’idée de définir la notion de voisinage de rayon d’un point : il commence en prenant en compte d’un point arbitraire et cherche tous les objets densitéaccessibles tel que tous les points situés à une distance de ce point inférieure à appartiennent au voisinage. Il y a deux points différents qui sont pris en compte dans la classification : Un point de noyau : c’est le point qui a un voisinage ( -Minpts). Un point non noyau : c’est celui qui n’a pas un tel voisinage. Il peut être un point de frontière ou un bruit. 1. 2. 3. Ainsi si le point arbitraire choisie est un point de noyau, alors cette phase forme une classe, s’il est un objet de frontière et qu’il n’y a aucun point qui est densité-accessible depuis lui alors c’est un bruit, l’algorithme passe à un autre objet. Les clusters sont alors agrandis en associant de proche en proche les points de voisinage qui respectent les conditions suivantes : 1. La condition de connectivité, i.e. tous les points de la classe doivent être densitéconnectés. 2. La condition de maximum, i.e. tous les points qui se trouvent dans le voisinage ( Minpts) d’un point de la classe doivent appartenir à cette classe. 26 Chapitre1. Classification et analyse des algorithmes de clustering L’algorithme général de DBSCAN se résume comme suit : Données : , Minpts. Début Répéter Sélectionner aléatoirement un point p∈X Mettre dans une classe tous les points densitéaccessible à partir de (3) Si p est un noyau, alors est une classe. (4) Si p est un point non noyau (frontière) ; passer à un autre point et retourner en (2) Jusqu’à ce que tous les objets ont été sélectionnés. (1) (2) FIN Avantages de l’algorithme DBSCAN: 1. Un avantage important de cet algorithme est qu’il permet de considérer des clusters de forme très variées ainsi que des clusters concentrique (c'est-à-dire contenus les uns dans les autres), voir la figure 12. 2. L’algorithme est également capable de faire face au bruit qui peut exister dans les données. 3. l’algorithme est insensible à l’ordre d’arrivée des objets. 4. l’algorithme est incrémental car un nouvel objet qui arrive peut affecter certains voisinages. Figure .12.Des formes irrégulières difficiles à traiter pour K-Moyenne. 27 Chapitre1. Classification et analyse des algorithmes de clustering Inconvénients de l’algorithme DBSCAN: 1. Le rayon de voisinage est difficile à préciser. 2. la performance de l’algorithme peut être diminuée dans le cas des données de haute dimension. Sa complexité est quadratique en fonction du nombre d’objets de la base. 3. l’algorithme requiert des paramètres et MinPts, et l’expérience montre que les résultats obtenus sont très sensibles aux choix de ces paramètres. I.6.4 Les méthodes à base de grille: Dans la section précédente, nous avons utilisé des concepts majeurs tels que la densité, les limites et la connectivité. Une autre manière de traiter ces concepts est d’extraire la topologie de l’espace des attributs sous-jacent. De ce fait, ce type de méthodes est conçu pour des données spatiales. Leur principe est de diviser l’espace de représentation des données en un nombre fini de cellules formant une grille. Une cellule peut être un cube, une région ou un hyper rectangle. Puis d’identifier les ensembles de cellules denses connectées pour former les clusters. Avec une telle représentation des données, l’utilisateur doit spécifier la taille de la grille à utiliser et la densité minimum déterminant si une cellule de la grille est considérée comme dense ou non. Dans un premier temps, l’espace de description des objets est découpé par des intervalles réguliers sur chaque dimension. Puis la densité de chaque cellule est évaluée, et les cellules satisfaisant le critère de densité minimum sont détectées. Ensuite, les ensembles de cellules denses connectées, sont identifiés. Enfin, un test d’uniformité de ces composantes connexes est mené. Ces composantes connexes uniformes forment les clusters, et pour les autres, la cellule la moins dense est supprimée et le test est reconduit sur chacune des deux sous composantes obtenues jusqu’à ce que toutes les composantes soient considérées comme uniformes. La figure 13 présente le principe de la méthode sur un exemple. Figure .13.Exemple de clustering basé sur les grilles. La figure de gauche présente le partitionnement de l’espace par l’utilisation d’une grille, la figure est le clustering associé. Avantages des méthodes à base de grille: 1. Les méthodes admettent que certains objets soient isolés. C’est le cas de l’objet caractérisé par une longueur de 176 et un prix de 10600. Ceci est la conséquence du choix de la taille de grille utilisée, mais dans d’autres cas, cela permet d’isoler le bruit qui peut exister dans les données. 28 Chapitre1. Classification et analyse des algorithmes de clustering 2. Tandis que les méthodes à base de densité fonctionnent mieux sur des variables numériques, les méthodes à base de grille fonctionnent avec des variables de différents types. 3. Cette famille de méthode est éclectique : elle contient les deux types d’algorithmes : hiérarchiques et de partitionnement. 4. L’accumulation des données sous forme de grille rend les techniques à base de grille indépendante par rapport à l’ordre (rangement) des données. A l’inverse des méthodes par réaffectation et les méthodes incrémentales qui sont très sensibles à l’ordre des données. Inconvénients des méthodes à base de grille: La problématique la plus critique de ces méthodes est celle de la recherche d’une taille appropriée pour les cellules construites ainsi que du choix du critère de densité : Des cellules de trop petite taille conduiraient à une estimation bruitée de la densité : c’est le problème du sur-partitionnement ; A l’inverse, des cellules de trop grande taille entraîneraient à de trop faibles densités : c’est le problème du sous-partitionnement. Par ailleurs, ces techniques ont les mêmes faiblesses que les méthodes à base de densité : elles souffrent de l’effet de chaîne et prennent difficilement en compte le fait que des clusters de densités différentes puissent exister ; Cependant, elles sont capables d’identifier des clusters de formes très variées ou concentriques et de gérer le bruit qui existe dans les données. Les algorithmes les plus connus dans cette catégorie sont : CLIQUE, STING et WaveCluster. I.7 Techniques d’évaluation de la qualité du clustering: L’évaluation de la pertinence des groupes formés en classification non supervisée reste un problème ouvert qui renvoie à la question suivante : qu’est ce qu’un bon schéma de clustering ? la difficulté vient principalement du fait que l’évaluation des résultats d’algorithmes de clustering est subjective par nature car il existe souvent différents regroupements pertinents possibles pour un même jeu de données. En effet, quelque soit le type de résultat que l’on souhaite construire, il existe de nombreuses classifications possibles pour un ensemble de données. Par exemple, dans le cas d’une classification dure d’un ensemble de objets en possibles. Sélectionner la « meilleure » classification parmi ces classes, il existe classification possibilités n’a de sens que si l’on dispose d’un critère d’évaluation de celle-ci. Or contrairement à la classification supervisée, il n’existe pas de critère naturel. En effet, dans le cas des algorithmes de classification supervisée, il est simple de vérifier la validité des résultats de la classification obtenue, étant donné que la classe de chaque objet de l’ensemble d’apprentissage est connue. En revanche, en classification non supervisée, l’algorithme n’a pas cette information à disposition. De ce fait, la problématique de l’évaluation de la qualité des résultats de la classification non supervisée a engendré un grand nombre de travaux dans la littérature. Des critères évaluant la cohérence des classes ont dû être définis afin d’évaluer objectivement et quantitativement les clusters qui résultent. Ces critères se 29 Chapitre1. Classification et analyse des algorithmes de clustering basent sur différentes notions. On distinguera principalement : les critères basés sur une mesure de distance, les critères spécifiques à la classification floue, les critères basés sur les statistiques pour les méthodes de classification probabilistes et les critères basés sur une méthode de rééchantillonnage des données. Une meilleure classification devrait accomplir différents critères, cependant, les critères ne sont pas complètement indépendants. Mais parfois, on s’intéresse seulement aux quelques critères. Par exemple, les critères de la validité interne et l’interprétabilité : La validité interne : Ce type d’évaluation n’utilise pas de connaissances externes mais uniquement les données d’entrée comme référence (matrice de (dis) similarité, description des données ets.) le meilleur schéma parmi plusieurs sera celui qui conserve un maximum d’information relativement à l’information contenue dans la matrice de (dis) similarité. Ainsi : certaines propriétés doivent être vérifiée : Chaque classe d’une partition doit être homogène : les objets qui appartiennent à la même classe doivent être semblables. Les classes doivent être isolées entre elles : les objets de différentes classes doivent être différents. La classification doit s’adapter aux données : la classification doit pouvoir expliquer la variation des données. La validité externe : Il s’agit de confronter un schéma de classification obtenue avec une classification prédéfinie. L’évaluation porte donc sur la corrélation entre les classes et les variables externes qui sont connues pour être corrélées avec la classification et qui ne sont pas employées pour grouper. La validité relative : Cette stratégie d’évaluation porte sur les deux critères principaux de dispersions intra clusters (à minimiser) et inter clusters (à maximiser). L’évaluation relative est souvent utilisée pour comparer plusieurs schémas obtenus par une même méthode avec différents paramètres optimaux pour un algorithme. La stabilité : Les classes doivent être stables : les petites modifications dans les données et dans les méthodes ne doivent pas changer les résultats. 30 Chapitre1. Classification et analyse des algorithmes de clustering L’interprétabilité : Les classes doivent avoir une interprétation substantive : il est possible de donner des noms aux classes. Dans le meilleur des cas, ces noms doivent correspondre aux types déduits d’une certaine théorie. D’autres critères : Parfois la taille et le nombre de classes sont employés en tant que critères additionnels. Ainsi que l’avis d’un expert. L’avis d’un expert : Utiliser un expert pour évaluer le sens d’un clustering donné dans un champ d’application spécifique. Mais s’il est possible à un expert de dire si un regroupement donnés a du sens, il est beaucoup plus problématique de quantifier son intérêt ou de dire si un regroupement est meilleur qu’un autre. De plus, l’intérêt de la méthode ne peut être généralisé à différents types de jeux de données. Le nombre de classes : Dans beaucoup des méthodes de classification non supervisée, le nombre k des classes qu’on doit obtenir représente un paramètre d’entrée, c’est le cas des méthodes de classification par partitionnement, le nombre des classes est fixé à l’avance par l’utilisateur. Dans les méthodes de classification hiérarchiques, couper l’arbre par une droite horizontale donne une partition de l’ensemble des individus. Ainsi on peut fixer le nombre des classes désirées selon l’endroit où on fait notre coupe. Cependant, il n’y a pas de méthodes analytiques pour déterminer le nombre de classes. I.8 Challenges Actuels en Classification Non Supervisée De nombreux algorithmes de classification non supervisée ne permettent pas un traitement satisfaisant des données pour de multiples raisons. Ces raisonspeuvent être classées selon qu’elles sont inhérentes aux données traitéesou liées à des contraintes dues au domaine dans lequel est utilisé l’algorithme. On donne une liste non exhaustive des problèmes en classification non supervisée constituant les principales préoccupations actuelles des chercheurs dans ce domaine : I.8.1 Problèmes inhérents aux données traitées : -Très grand nombre d’objets : Si le nombre d’objets à traiter est très élevé, les algorithmes utilisés se doivent de posséder une complexité algorithmique théorique relativement faible, ou plutôt, exhiber une bonne scalabilité. En effet, comme de nombreux problèmes intéressants, la classification non supervisée mène à la résolution de problèmes généralement NP-difficile. Il est 31 Chapitre1. Classification et analyse des algorithmes de clustering généralement admis que des algorithmes "valables" en terme de coût calculatoire doivent posséder une complexité algorithmique linéaire ou log-linéaire, dans quelques cas particuliers une complexité quadratique ou cubique peut être acceptée. -Dimensionnalité élevée : Dans certains cas, le nombre de descripteurs (variables) est très élevé (parfois supérieur au nombre d’objets). Ainsi, un algorithme de classification non supervisée doit pouvoir affronter « le fléau de la dimensionnalité ». -Autres éléments problématiques : le choix de la mesure de similarité à utiliser peut affecter la complexité algorithmique ainsi que, le problème de données manquantes soulève également des questions pour le choix de cette mesure. La présence d’outliers et leur détection est un problème non trivial, ainsi il est parfois nécessaire de posséder un algorithme relativement insensible à leur présence. (Dans le cas de données catégorielles, la notion d’outliers fait référence aux objets présentant une description particulièrement différente de l’ensemble des autres objets du jeu de données.) I.8.2 Problèmes inhérents à des contraintes applicatives : -Nécessité d’intégrer des connaissances, des contraintes dans le processus : Le processus d’extraction des connaissances dans lequel s’insère le processus de la classification non supervisée est essentiellement anthropocentrique et itératif. Donner la possibilité à l’utilisateur de "jouer" avec le processus de la classification non supervisée en y intégrant ses connaissances ou d’éventuelles contraintes est donc souvent nécessaire. -Bonne utilisabilité : Souvent l’utilisateur final d’un algorithme de la classification non supervisée ne s’avère pas un expert du domaine : simplicité d’utilisation (paramétrage facile et intelligible de l’algorithme), présentation explicite et intelligible des résultats et connaissances extraites par le processus de la classification non supervisée sont alors des éléments indispensables pour une utilisation profitable et pertinente d’un algorithme. -Données distribuées : Les grands entrepôts de données proposent le plus souvent des sources de données distribuées. Les modèles de la classification non supervisée que l’on peut bâtir localement nécessitent parfois d’être intégrés dans un modèle global/holistique. 32 Chapitre2. LeClustering des données d’expression des gènes II.1 Introduction : Les puces à ADN font partie des méthodes de « génomique ». A la différence des méthodes de génétique classique (étude des gènes isolés), les approches génomiques ont pour objectif de définir la nature des relations qui existent entre les gènes, ainsi que de comprendre comment un effet donné peut émerger de l’ensemble de ces relations. Dans le chapitre précédent, les puces à ADN étaient utilisées comme un outil permettant des études en parallèle de milliers de gènes. Mais la véritable puissance des puces à ADN réside également en leur capacité à être utilisée pour étudier les relations entre les gènes, c'est-à-dire identifier ceux qui se comportent de manière similaire ou coordonnée. Un problème inhérent à l’utilisation de technologies de puces à ADN est la quantité énorme de données produites. La recherche de schémas d’information significatifs et les dépendances entre les gènes, afin de fournir une base pour les tests d’hypothèses, comprend généralement l’étape initiale de clustering des gènes. Le clustering suppose qu’il existe une cartographie inconnue qui attribue une étiquette pour chaque gène et l’objectif est d’estimer cette cartographie en assignant chaque gène à un groupe. Nombre de publications 4100 3100 2100 1100 100 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 Les années Figure .14."clustering d'expression des gènes "dans la littérature scientifique de 1999 à 2010 (Source : PubMed) Le terme « clustering » d’expression des gènes est apparu dans la littérature scientifique qu’au tout début des années 1990, pour augmenter de façon exponentielle selon le nombre d’articles référencés dans le moteur de recherche PubMed2. 2 http://www.ncbi.nlm.nih.gov/pubmed/ 34 Chapitre2. LeClustering des données d’expression des gènes II.2 Contexte biologique : Dans cette partie nous présentons le contexte biologique et la technologie des puces à ADN afin de mieux comprendre la nature des données sur lesquelles nous travaillons. Après quelques rappels de génétique, nous montrons les enjeux de l’étude du transcriptome qui ont motivés notre travail de recherche, en mettant en évidence l’importance de l’informatique pour l’analyse des données issues de cette technologie. En ce qui concerne la terminologie associée à la technique des « puces à ADN », il est important de noter que le terme « microarray » ou « puces à ADN » sont employées de façon indifférente. Les termes de « biopuces » ou « microréseau » sont également employés dans la littérature française. II.2.1Généralités et définition du transcriptome : L’ADN (Acide Désoxyribonucléique) est la forme de stockage de l'information génétique de tous les êtres vivants. C’est une molécule gigantesque située dans le noyau de chacune des cellules, elle se présente sous la forme d’un double brin enroulé en double hélice composé d’un enchainement linéaire de millions d’unités de quartes bases azotées (nucléotides) : Adénine(A), Cytosine (C), Guanine(G) et Thymine(T). L’ADN humain est composé d’un enchainement de 3 milliards de lettres et la totalité de l’ADN se présente sous la forme d’un ensemble de chromosomes. Les gènes : ils sont disséminés le long du brin d’ADN. Ils ne représentent chez l’homme que 5% de la longueur de la molécule d’ADN. On ignore encore à quoi sert le reste. L’ARN messager (Acide Ribonucléique): est comme l’ADN une chaine composée de nucléotides, où l’Uracile(U) remplace la Thymine, c’est une « photocopie » de l’ADN produite durant la phase de transcription. En effet pour chaque gène, l’ADN qui le compose est transcrit en une molécule complémentaire qui est l’ARN. Le noyau de la cellule est comme une bibliothèque ou sont stockées les informations et comme dans toutes les bibliothèques, les originaux ne peuvent sortir donc l’ADN est transcrit en un nombre variable d’exemplaires d’ARN messager sans jamais quitter le noyau de la cellule, c’est l’ARN qui transporte l’information génétique à travers le reste de la cellule. 35 Chapitre2. LeClustering des données d’expression des gènes Transcriptome : on appelle transcriptome l’ensemble des ARN messagers, c'est-à-dire les milliers de transcriptions d’ADN différentes présentes dans une cellule à un moment donné. Les protéines : en fonction de ces besoins, la cellule va utiliser tout ou une partie des gènes pour réaliser la synthèse des protéines nécessaires aux fonctions cellulaires. Durant la phase de traduction l’ensemble des ARN messagers quittent le noyau et sont distribués dans la cellule pour la production de la protéine correspondante. Figure .15. Mécanisme de transcription et traduction de l’ADN. 36 Chapitre2. LeClustering des données d’expression des gènes II.2.2 Principe des puces à ADN et analyse du transcriptome : Les puces ADN permettent d’étudier le comportement d'un organisme au niveau du génome en mesurant le niveau des expressions des gènes. Dans la suite de cette section, nous détaillons le fonctionnement de cette biotechnologie. II.2.2.1 Les puces à ADN : Les puces à ADN, également appelées DNA chips ou microarrays (array= rang ordonné), ont étédéveloppées au début des années 1990. Depuis leur apparition, les puces à ADN sont devenues des outils majeurs pour la recherche en biologie fondamentale et clinique[BRO 99][LOC 00].Elles permettent de mesurer simultanément et quantitativement l’expressionde plusieurs milliers de gènes à partir d’un support solidede taille réduite (quelques cm2) sur lequel des milliers de fragments d’ADN sont immobilisés selon une disposition ordonnée à l’aide d’une micropipette robotisée. Grâce à cette technique, chacun des fragments d’ADN est représenté par un point ou « spot » sur le support, ils servent de sondes pour fixer de façon très spécifique les fragments des gènes complémentaires « cibles », présents dans les échantillons biologiques à tester : leur mise en contact permet de reconstituer la double hélice d’ADN. Ce phénomène repose sur le principe d’hybridation entre des séquences complémentaires d’ADN, conformément aux observations de (Southern en 1975[SOU 75]). Ainsi les puces à ADN permettent de détecter et de quantifier la présence de plusieurs milliers de gènes en parallèle par hybridation entre des sondes et des cibles préalablement marquées par un radioélément ou par une molécule fluorescente. Le principe est illustré sur la figure qui suit. La lecture des résultats d’hybridation se fait grâce à un scanner. Dans le cas detechnologies utilisant la fluorescence, le scanner est un microscope confocal couplé à un ouplusieurs lasers où chaque laser excite spécifiquement un fluorochrome. Le signal émis estamplifié par un photomultiplicateur et transformé en image. Une image en niveau de gris estalors générée pour chaque fluorochrome puis convertie en fausses couleurs (allantgénéralement du vert au rouge). Enfin, les deux images sont superposées (Emilie Guérin 2005)[GUE 05]. Différentes étapes statistiques et informatiques sont ensuite requises pour extraire et analyserles données issues de ces images. 37 Chapitre2. LeClustering des données d’expression des gènes Figure .16. Principe des puces à ADN et analyse du transcriptome[REY 04] (A) : les séquences des sondes sont déterminées de façon à optimiser leur spécificité et leur sensibilité. Les sondes synthétisées sont déposées par un robot sur la surface de la lame selon un plan défini. (B) : les ARNm sont extraits des échantillons biologiques à comparer, marqués avec des fluorochromes différents puis mélangés avant hybridation. (C) : la lecture des lames est réalisée avec un scanner (microscope à fluorescence) couplé à un photomultiplicateur. (D) : l’image est alors analysée de façon à quantifier le signal. Les données sont en suite normalisées, analysée et interprétées. 38 Chapitre2. LeClustering des données d’expression des gènes II.2.2.2 Les jeux de données issues des puces à ADN : La transcriptomique est l'étude de l’expression quantifiable des gènes (ARNm) dans un type cellulaire donné, un tissu ou un organisme et dans une condition biologique précise. Ce domaine de recherche a fait d'importants progrès depuis une dizaine d'années avec l'arrivée des puces à ADN. Le niveau d’expression d’un gène est associé à la quantité d’ARNm présents dans une cellule, on dit qu’un gène est surexprimé quand il produit une grande quantité d’ARNm, à l’inverse on dira qu’un gène est sous exprimé quand il produit peu d’ARNm. De nombreuses technologies de biologie moléculaire ont été développées afin de mesurer le niveau d’expression des gènes. Certaines sont à haut débit et permettent de mesurer simultanément l’activité de plusieurs milliers de gènes, comme les puces à ADN ou la méthode SAGE(Serial Analysis of Genes Expression). D’autres techniques d’amplification génétique comme la PCR (Polymerase Chain Reaction) temps réel se limitent à l’analyse d’un petit nombre de transcrits (ARNm) ou de gènes à la fois et ne permettent pas d’appréhender la complexité du phénomène de la transcription. La technologie des puces à ADN ou biopuces est considérée comme capitale, elle permet de mesurer l'expression de plusieurs milliers de gènes simultanément. Une biopuce est une photographie à un instant donné de l'activité génétique d'un tissu biologique. Un jeu de données biopuces est une série de puces à ADN, il prend la forme d'une matrice dites matrice d’expression comprenant plusieurs dizaines de milliers de lignes et quelques dizaines de colonnes. Chaque colonne correspond à une expérimentation (une biopuce) et chaque ligne à un gène. 39 Chapitre2. LeClustering des données d’expression des gènes Figure .17.Exemple de jeux de données biopuce (matrice d’expression) La couleur de chaque case représente sa valeur, rouge quand l'expression est positive (sur-exprimé) et vert quand négatif (sous-exprimé). 40 Chapitre2. LeClustering des données d’expression des gènes II.3 Enjeux et objectifs de l’analyse du transcriptome : Si le génome est identique dans chacune des cellules de l’organisme donné, en revanche, l’expression de chaque gène peut varier dans le temps (propre à un stade du développement), dans l'espace (propre à un type cellulaire, tissulaire ou organique) ou/et caractéristique d'un état donné (normal, pathologique ou en réponse à un stimulus particulier). Ceci explique le grand intérêt que porte la communauté scientifique à l’analyse du transcriptome. Elle ouvre de nouvelles voies de recherche et de développement dans de nombreux domaines aussi divers que la médecine, la biologie fondamentale, le développement pharmaceutique, l’environnement ou dans les contrôles agro alimentaires et industriels. -Le diagnostic des maladies : L’analyse du profil d’expression des personnes atteintes de certaines maladies a aidé à la compréhension de ces maladies. Il existe de nombreux exemples dans la littérature illustrant l’aide que peut apporter l’étude du transcriptome au diagnostique médical, dont une grande majorité portent sur la caractérisation de gènes impliqués dans certains cancers. Dans le cadre des cancers du sang, différencier les Leucémies aigues de type Myéloïde de celle de type Lymphoïde est crucial pour établir un traitement efficace. (Golub et al)[GOL 99] ont pu sélectionner un ensemble de 50 gènes permettant de discriminer les types de Leucémie avec une grande précision en développant un modèle qui prédit le type de Leucémie à partir de profil d’expression. Un autre cas concerne les «DLBCL » (Diffuse Large B-Cell Lymphoma) qui sont une sous classe de lymphomes présentant une grande hétérogénéité clinique. Les travaux de [ALI 00] ont conduits à l’identification de deux formes de DLBCL, « Germinal Centre B-Like » et « Avtivated B-Like », et constatent que les patients atteints de la première forme ont une chance de survie meilleure que les autres. - La pharmacogénomique : Identification de cibles pour la recherche thérapeutique. -La toxicogénomique Dans le cas de l'analyse de la réponse toxicologique à l'aide de puces à ADN, on doit au départ faire l'hypothèse que l'effet toxicologique, direct ou indirect, d'une substance résulte de la modification de l'expression de certains gènes, ou du moins qu'il lui est associé.Les mesures consistent alors à évaluer l'expression différentielle de gènes de deux échantillons, grâce à un marquage par fluorescence en deux couleurs (une par échantillon). Cela permet de comparer les profils d'expression génique de deux tissus différents (normal/pathologique ou traité/non traité par une substance). 41 Chapitre2. LeClustering des données d’expression des gènes -L'agro-alimentaire : Contrôle des microorganismes utilisés dans certaines fabrications (ferments lactiques, levures, mycélium, etc....), détection des séquences provenant d'organismes génétiquement modifiés (OGM) dans les semences ou dans certains aliments, détection d'agents infectieux dans l'alimentation comme la Salmonelle ou la Listeria. -L'environnement : Analyse bactérienne de l'eau de consommation, détection des agents infectieux dans l'alimentation, l'air ou l'eau (Salmonella, Listeria, Legionnella). Le défi est de répondre à certaines questions : -Existe-il des groupes de gènes similaires en termes d'expression ? Si des gènes sontCo-exprimés, on peut supposer qu'ils ont un rôle biologique proche. -Quels sont les gènes qui s'expriment différemment en fonction des expériences ? Ceci permettrait d'identifier les gènes impliqués dans les processus biologiques étudiés. Par exemple si un gène est surexprimé chez des patients atteints du cancer et sous exprimé chez des patients sains, alors on peut supposer que ce gène est impliqué dans le développement du cancer. -Existe-il des groupes d'expériences similaires en termes d'expression ? Ceci permettrait par exemple de découvrir des sous types de maladie qu'on ne peut différencier qu'au niveau transcriptionel. II.4 L’importance de l’informatique pour l’analyse des données issues des puces à ADN : La communauté scientifique reconnait le grand potentiel des puces à ADN et le nombre de domaines et projets incluant leur utilisation, est en train d’exploser depuis quelques années. Toutefois il ne suffit pas de produire simplement des données, on doit être capable également d’en extraire de l’information compréhensible par les experts du domaine d’étude. Une expérimentation menée par puces à ADN comporte plusieurs dizaines de milliers d’expressions de gènes, leur analyse ne peut se faire humainement. On doit donc recourir à des méthodes informatiques issues de la statistique exploratoire et de l’apprentissage artificiel. Il n’existe pas une seule méthode d’analyse générale permettant de répondre à toutes les questions sur tous les types de données. Au contraire, de nombreuses méthodes spécifiques ont été développées. On peut les classer en trois familles : les méthodes de clustering, de classification et de sélection de gènes. Les méthodes de clustering appliquées aux expressions des gènes seront détaillées plus largement dans la suite du chapitre. 42 Chapitre2. LeClustering des données d’expression des gènes II.5Le principe du clustering des gènes : Le clustering a beaucoup d’application dans l’analyse des données biopuce et peut s’effectuer au niveau des gènes comme au niveau des conditions expérimentales. Identifier des groupes de gènes ayant un comportement similaire permettrait de supposer qu’ils ont un rôle biologique proche. De même, trouver des groupes de patients malades ayant un profil d’expression proche permettrait de définir des sous classes de maladie. La figure suivante illustre le principe de clustering de gènes sur un jeu de données comprenant 10 gènes et 6 exemples. Les gènes qui ont un comportement similaire sur tous les exemples sont regroupés dans les mêmes clusters. Figure .18.Illustration du principe de clustering sur les gènes. II.5.1Les prérequis du clustering des gènes : Le clustering d’expressions de gènes comprend généralement les étapes de base suivantes : La représentation des données. La normalisation. La transformation. Le remplacement des valeurs manquantes. Le filtrage. 43 Chapitre2. LeClustering des données d’expression des gènes La représentation des données : Cette étape implique la représentation de la matrice de données pour le clustering. Les données de puces à ADN se présentent sous la forme d’une « matrice d’expression »on notera Y , la mesure d’expression du gène i dans l’expérience , pour (G étant le nombre total de gènes) et (N étant le nombre total d’expériences). Il y a deux manières d’analyser les données d’expression. L’analyse peut porter sur la recherche de similitudes de comportements entre les gènes ou alors entre les expériences. Dans le premier cas, chaque gène est caractérisé par un vecteur d’expression et dans le second cas se sont les expériences qui sont caractérisées par des vecteurs d’expression . Figure .19. Matrice d’expression. Qui peut être analysé en ligne ou en colonne. La normalisation : Les sources de variabilités incontrôlées sont nombreuses et une préparation d'ARNm a peu de chance de donner les mêmes résultats si elle est testée sur deux puces à ADN : il n'y a pas de raisons pour que le marquage soit exactement le même d'une fois sur l'autre ou que le système de lecture soit réglé exactement de la même façon. Ce sont des biais qui affectent tous les gènes de la même façon et le problème est résolu en donnant la même moyenne et la même variance à toutes les conditions expérimentales (c'est-à-dire toutes les colonnes dans le tableau de résultats). D'un point de vue statistique, cette opération revient à leur donner le même poids dans les analyses ultérieures. D'un point de vue biologique, c'est faire l'hypothèse que la quantité totale d'ARNm dans les cellules est constante dans l'expérience. 44 Chapitre2. LeClustering des données d’expression des gènes La transformation : La distribution du niveau d'expression des gènes est très asymétrique avec un petit nombre de valeurs élevées. C'est une source de problèmes car de nombreuses méthodes statistiques supposent implicitement une distribution gaussienne. L'asymétrie est fortement diminuée si les données brutes sont remplacées par leur logarithme ou par leur racine cinquième. La transformation logarithmique est la plus utilisée, cependant elle présente l'inconvénient d'amplifier les écarts des petites valeurs : après le passage au logarithme, 0,1 et 1 deviennent aussi éloignés que 100 et 1000. Le nuage des gènes s'évase considérablement pour prendre une forme en trompette, ceci est un pur artefact dû à la transformation logarithmique de valeurs proches de zéro qui résultent habituellement de la soustraction du bruit de fond. Des traitements mathématiques permettent de limiter l'ampleur de cette déformation. Le problème peut être évité en ajoutant une constante de sorte que la valeur la plus faible soit aux environs de la centaine. Le remplacement des valeurs manquantes : Les matrices de données d’expression peuvent être incomplètes. Pour certains gènes, aucune valeur d’expression n’est attribuée et la donnée est notée « NA » (Non Attributed ou Non Available).Les valeurs manquantes posent un problème car elles peuvent influencer les résultats des calculs de distance ainsi que la stabilité des classifications obtenues, ils ont pour origines : (i) un défaut qui rend la mesure impossible pour un gène sur une puce à ADN ; (ii) la mesure est éliminée car elle n'est pas notablement supérieure au bruit de fond ou l’absence d’expression du gène dans l’échantillon.Eliminer un gène lorsqu'il lui manque une valeur dans une colonne n'est pas une solution car le problème va se poser de nouveau pour d'autres gènes dans d'autres colonnes si le nombre de conditions expérimentales augmente. On considère généralement qu'il vaut mieux remplacer la valeur manquante par une valeur estimée à partir des mesures faites dans d'autres conditions expérimentales. Plusieurs techniques permettent de calculer les valeurs estimées. Elles n'ont pas toutes la même précision. On peut estimer empiriquement la qualité d'une méthode en supprimant quelques valeurs dans le tableau de départ puis en comparant les valeurs prédites aux valeurs initiales. Par exemple, il est possible de modifier les algorithmes de groupement afin qu’ils prennent en comptecette absence de données et rééquilibrent la matrice de données d’expression. Certains algorithmes permettent de compléter le jeu de données : moyenne sur le gène, moyenne sur les k voisins les plus proches (K-Nearest Neighbors - KNN) ou encore décomposition des valeurs d’expression en valeurs propres. 45 Chapitre2. LeClustering des données d’expression des gènes Le filtrage Le filtrage a pour but de supprimer les gènes dont l’expression ne varie pas ou peu, dans une série d’expériences. Ces gènes ne présentent pas d’intérêt pour l’analyse et leur élimination permettra de simplifier les classifications ultérieures. Cette procédure permet généralement de soustraire tous les gènes ayant une faible variation, dont l’intensité est trop proche du bruit de fond ou pour lesquels on suspecte une hybridation non spécifique. Ces critères de tri sont le plus souvent fixés empiriquement et peuvent varier en fonction du nombre de gènes désirés pour l’analyse. Les critères les plus fréquemment utilisés sont un niveau de variation (fold-change) supérieur à 2 fois et une p value associée aux spots inférieure à 0,01. Remarque : La normalisation, le filtrage ou toute autre transformation doivent cependant être utilisés avec prudence car ils peuvent introduire un biais et avoir un effet non négligeable sur l’interprétation des résultats. Les méthodes de normalisation et d’analyse restent d’ailleurs encore un domaine de recherche actif et sont à l’origine de controverses pour les scientifiques spécialisés dans ce domaine. II.5.2Etat de l'art des méthodes de clustering des gènes : Selon Sheng Qizheng et al[SHE 05], il existe deux générations d’algorithmes de clustering appliqués aux données d’expression des gènes. La première génération des algorithmes de regroupement (la classification hiérarchique, k-means et cartes auto-organisatrices (SOM)) appliqué à des profils d'expression génique ont été pour la plupartdéveloppés outre le domaine de recherche biologique. Bien que des résultats encourageants ont été réalisés,certaines de leurs caractéristiques (par exemple, la détermination du nombre de cluster, le regroupement des valeurs aberrantes,complexité de calcul) compliquent souvent leur utilisation pour le clustering de données d'expression. Pour cette raison, une deuxième génération des algorithmes de regroupement ont commencé à s'attaquer à certains deslimitations des méthodes précédentes. Ces algorithmes sont, entre autres, des algorithmes fondés sur un modèle, l'algorithme de l'arbre d'auto-organisation (self-organizing tree), basée sur la qualité des algorithmes,et biclustering algorithme. En outre, certaines procédures ont été développées qui pourraient aider les biologistes à estimer certains des paramètres nécessaires à la première génération d'algorithmes (par exemplele nombre de clusters présents dans les données). 46 Chapitre2. LeClustering des données d’expression des gènes II.5.2.1Les méthodes de classification hiérarchique : Les méthodes hiérarchiques sont les premières approches utilisées pour l’analyse des données de profils d’expression. Elles consistent à générer une suite de classes emboîtées représentées graphiquement par un dendrogramme. Elle se base sur la matrice de similarité obtenue à partir des données d’expression et du choix d’une distance de similarité, les plus couramment employées étant la distance euclidienne et la distance de corrélation de Pearson. L’algorithme peut être ascendant ou descendant et nécessite le choix d’une distance inter-groupe pour obtenir une règle d’agglomération des classes. Les trois principales règles utilisées sont le lien moyen «average-linkage», le lien complet«complete-linkage» et le lien simple «single-linkage» pour lesquelles la distance entre deux groupes est donnée respectivement par la moyenne des distances entre toutes les paires d’objets, la distance entre les deux points les plus éloignés ou la distance entre les deux points les plus proches. D’autres distances comme la distance aux centroïdes ou le lien de Ward peuvent être également considérées. Cette technique de classification est trèspopulaire dans la communauté pour l’´etude des profils d’expression des gènes car elle estfacile à utiliser et implémentée. [EIS 98] ont développé le logiciel « Cluster » basésur un algorithme de classification hiérarchique ascendante avec le critère «average-linkage»appelé « «UPGMA » (Unweighted Pair Group Method with Arithmetic mean). Ce logiciels’accompagne d’un programme de visualisation TreeView. Il faut tout de même noterque cette procédure a une complexité algorithmique en O (N2 lnN) si N est le nombretotal de gène à classer et est très influencée par le bruit et l’ordre desdonnées. Elle souffre d’un manque de robustesse car une petite perturbationdes données peut nettement changer la structure du dendrogramme. De plus, uninconvénient de cette méthode réside dans le choix par l’utilisateur du nombre de groupesà partir du dendrogramme. La figure tirée des travaux [ALI 00], nous donne un autre exemple de l’application de cet algorithme. Une classification hiérarchique ascendante a été effectuée sur le profil d’expression de 96 échantillons de « Lymphocytes malins » sans tenir compte de leurs classes. On constate que la hiérarchie construite a regroupé les échantillons appartenant à une même classe. La classification obtenue est représentée sous la forme de deux dendrogramme (un pour les gènes, un pour les individus) associés à la matrice d’expression transformée en carte (heatmap), colorée en fonction du niveau d’expression relatif des gènes. Généralement, les couleurs employées vont du vert (niveau bas) au rouge (niveau élevé) en passant par le noir (niveau médian). 47 Chapitre2. LeClustering des données d’expression des gènes Figure .20.Classification ascendante hiérarchique de l’expression gauche c’est un agrandissement de la hiérarchie construite où échantillon. Chaque ligne représente l’expression d’un gène d’expression d’un échantillon. La couleur correspond à la mesure de couleur au bas de la figure. 48 de 96 Lymphocytes malins. A apparaît la classe de chaque et chaque colonne le profil de l’expression selon l’échelle Chapitre2. LeClustering des données d’expression des gènes III.5.2.2Les méthodes de classification par partitionnement: Une autre famille de méthodes de classification est celle des algorithmes de partitionnement. Ces méthodes nécessitent de spécifier préalablement le nombre de classes. L’une des plus utilisée est l’algorithme des k-Means proposé par MacQueen[MAC 67]. Sa grande popularité vient de sa simplicité conceptuelle, sa rapidité d’exécution et ses faibles exigences en taille mémoire. Il offre aussi la possibilité de partitionner un ensemble volumineux de données à moindre coût. Les auteurs Tavazoie et al 1999 ont analysé 3000 profils de gènes de la levure « Saccharomyces Cerevisiae », mesurés sur 15 instants d’échantillonnage et observé au cours de deux cycles cellulaires. Ils ont appliqué l’algorithme des k-Means pour partitionner ces données successivement en 10, 30 et 60 classes. La similarité entre les gènes est mesurée par la distance Euclidienne et le résultat en 30 classes est retenu. Toutefois, l’algorithme des k-means est relativement sensible aux valeurs aberrantes. L’algorithme PAM (Partitionning Around médoïds) ou l’algorithme des k-médoïdes permet de classifier les données de manière plus robuste. Le médoïde d’un groupe est l’objet possédant la distance médiane la plus faible avec les autres objets du groupe. D’après les auteurs de l’algorithme Kaufman et Rousseeuw[ROU 90], il est plus judicieux de choisir comme centre d’un groupe un objet présent dans le groupe qu’un objet calculé. Quality Threshold (QT) est une méthode alternative de partitionnement de données, inventé spécialement pour le clustering des gènes (Heyer et al, 1999)[HEY 99], elle nécessite plus de puissance de calcul que les k-means, mais n’exige pas de spécifier le nombre de clusters à priori et renvoie toujours le même résultat lorsqu’il est exécuté plusieurs fois. Du fait de la phase d’initialisation au hasard, les algorithmes sont dit non déterministes : l’algorithme appliqué plusieurs fois sur le même jeu de données peut produire des résultats différents. D’après Draghici, la position relative des profils d’expression mise en évidence par ces algorithmes est rarement informative voir trompeuse. II.5.2.3Les méthodes de classification floues: Moins utilisées que les méthodes décrites précédemment, les approches basées sur la logique floue ou fuzzy algorithm sont très voisines de k-means (Gasch et Eisen)[GAS 02] . Elles permettent le classement des gènes dans plusieurs groupes à la fois, avec une probabilité associée. Selon Moloshok et al[MOL 02], cette technique reflète mieux la biologie. Il existe peu d’outils proposés pour la classification floue, nous pouvons toutefois citer les algorithmes « fanny », « cshell » et « cmeans » implémentés dans R. 49 Chapitre2. LeClustering des données d’expression des gènes II.5.2.4Classification par les réseaux de Kohonen (SOM) : SOM (Self Organising Map) (Tamayo et al, 1999) est plus robuste que k-means pour le clustering des données bruitées. Il exige en entrée le nombre de clusters et la configuration de la grille. La spécification du nombre de clusters à l’avance est difficile dans le cas des données des expressions des gènes. Par ailleurs, les approches de partitionnement sont limitées aux données de dimension faible avec des clusters bien séparés et de haute densité. Par contre, les jeux de données d’expression des gènes peuvent être de dimensionnalité élevée et contiennent souvent des intersections entre les clusters. Une structure hiérarchique peut aussi être construite en se basant sur le principe de la méthode « SOM » comme l’algorithme « SOTA » (Self Organising Tree Algorithm) proposé par (Dopazo et Carazo 1997)[DOP 97]. Récemment, plusieurs nouveaux algorithmes tels que (Herrero et al, 2001)[HER 01] et (Tomida et al, 2002) ont été proposés en se basant également sur le principe de la méthode « SOM ». Ces algorithmes peuvent déterminer automatiquement le nombre de clusters et adapter dynamiquement la structure de la carte à la distribution des données. (Herrero et al, 2001)[HER 01] ont amélioré l’algorithme par une structure d’arbre binaire. Au début, l’arbre contient un seul nœud racine reliant deux neurones après un processus d’apprentissage similaire à celui de « SOM » l'ensemble des données est séparé en deux sous-ensembles, puis le neurone avec moins de cohérence est divisé en deux nouveaux neurones,ce processus est répété niveau par niveau jusqu'à ce que tous les neurones dans l'arbre satisfassent un certain seuil de cohérence. D’autres exemples d'améliorationde l’algorithme « SOM »sont les algorithmes « Fuzzy ART » (Adaptive Resonance Theory) proposés par (Tomida et al, 2002) qui offrent des approches pour mesurer la cohérence d'un neurone. La carte de sortie est ajustée en séparant les neurones existants ou en ajoutant de nouveaux neurones dans la carte, jusqu'à ce que, à la cohérence de chaque neurone de la carte répond à un seuil spécifié par l’utilisateur. III.5.2.5Les méthodes de classification basées sur un modèle: Les méthodes basées sur un modèle fournissent un cadre statistique pour la modélisation de la structure des clusters dans les données d’expression des gènes. L’algorithme EM (Expectation Maximisation) ou l’algorithme de la maximisation d’espérance introduit par (Dempster et al, 1977)[DEM 77] découvre de bonnes valeurs pour ses paramètres d’entrée de manière itérative. Il peut traiter différentes formes de données et peut être très couteux, car un certain nombre d’itérations peut être nécessaire selon (Travis et Huang 2009). L’approche basée sur un modèle offre une probabilité estimée d’appartenance d’un objet à un cluster particulier. Ainsi, un gène peut avoir une forte corrélation avec deux clusters totalement différents, cependant, cette méthode 50 Chapitre2. LeClustering des données d’expression des gènes suppose que l’ensemble des données correspond à une distribution spécifique qui n’est pas toujours vrai. II.5.2.6Les méthodes de classification basées sur les graphes: Dans les algorithmes de clustering basés sur les graphes, les graphes sont construits comme des combinaisons d’objets, caractéristiques ou les deux, comme les nœuds et les arêtes, ensuite partitionnés en utilisant la théorie des graphes. Ces méthodes sont aussi utilisées pour le problème de classification non supervisée des données d’expression des gènes [HAR 99]. L’identification des clusters via les noyaux de connectivité (CLICK) introduit par (Sharan et Shamir)[SHA 00] est adapté pour le clustering des sous espaces et les données de haute dimension. L’algorithme « CAST » (Cluster Affinity Search Technique) introduit par [BEN 99] prend en entrée les similarités entre paires de gènes et un seuil d’affinité. Il ne nécessite pas un nombre de clusters défini par l’utilisateur et gère les valeurs aberrantes efficacement. Mais il éprouve des difficultés à déterminer une bonne valeur du seuil. Dans l’algorithme « CAST », la taille et le nombre de clusters produits sont directement affectés par le paramètre t fixé et défini par l’utilisateur et donc nécessite la connaissance à priori de l’ensemble des données. Afin de surmonter ce problème, l’algorithme « E-CAST » introduit par [BEL 02] calcule la valeur du seuil dynamiquement sur la base des valeurs de similarité des objets qui ne sont pas encore regroupés. II.5.2.7Les méthodes debiclustering: L’avènement de la technologie des puces à ADN a constitué un tournant majeur dans l’étude des processus moléculaires. La quantité d’information générée par les puces est très grande et nécessite des traitements statistiques adaptés. Parmi ceux-ci le clustering ou classification non supervisée est une des méthodes les plus employées. Toutefois le clustering souffre de certains défauts et nécessite l’introduction d’un nouveau concept de bicluster. Ces techniques généralisent les méthodes deregroupements classiques basées sur le regroupement indépendant des lignes et des colonnes.Celui-ci correspond à trouver des sous-ensembles de gènes Co-régulés pour des sous ensembles de conditions. Le biclustering a été pour la première fois introduit par [CHE 00]et, depuis de nombreux algorithmes ont été proposés. 51 Chapitre2. LeClustering des données d’expression des gènes II.6Les défis du clustering des gènes : En raison des caractéristiques particulières des données d’expression génétique, et les exigences particulières du domaine biologique, la classification non supervisée des gènes présente plusieurs nouveaux défis et est toujours un problème ouvert. Premièrement, le clustering est généralement la première étape dans la fouille de données et de la découverte de connaissance. Un algorithme de clustering permet non seulement de partitionner le jeu de données, mais aussi fournit une représentation graphique de la structure des clusters qui serait mieux exploitée par les biologistes. Deuxièmement, en raison de la complexité des procédures d’expériences des micros puce, les données d’expression génétique contiennent souvent une énorme quantité de bruit. Par conséquent, les algorithmes de clustering devraient être capables d’extraire des informations utiles à partir d’un niveau élevé de bruit de fond. Troisièmement, les biologistes peuvent non seulement être intéressés par les clusters des gènes, mais aussi peuvent être intéressés par la relation entre ces clusters( par exemple, quels sont les clusters qui sont plus près les uns des autres, et quels sont ceux éloignés les uns des autres), aussi que la relation entre les gènes dans le même cluster (par exemple, quel gène peut être considéré comme le représentant du cluster et les gènes qui sont à la frontière du cluster). un bon algorithme de clustering devrait dépendre aussi peu que possible sur les connaissances antérieures, qui ne sont généralement pas disponibles avant la classification. Par exemple, un algorithme de clustering qui peut estimer avec précision le « vrai » nombre de clusters dans le jeu de données serait plus favorable que celui qui exige le nombre prédéterminé des clusters. Des études ont démontré que les données d’expression des gènes sont souvent très connectés et peut y avoir des intersections entre les différents clusters. Par conséquent, les algorithmes devraient être en mesure d’efficacité afin de gérer cette situation. 52 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.1 Introduction : Après avoir fait un tour d’horizon des techniques de classification non supervisée qui existent dans la littérature, ce troisième chapitre est consacré à la mise en œuvre de notre plateforme. Rappelons que l’objectif principal de notre travail est en premier temps de développer une plateforme qui permet d’exécuter et de comparer différents algorithmes de clustering notamment pour effectuer les trois tâches principales (le prétraitement, la classification et la validation). Notons par ailleurs que notre logiciel reste ouvert et peut être utilisé également pour d’autres bases de données autres que celles des expressions des gènes. Commençons, d’abord, par une présentation de l’architecture générale de notre application avant de développer les différents algorithmes. III.2 Architecture générale de l’outil: L’application que nous nous proposons de développer peut se voir comme étant l’interaction de plusieurs modules complémentaires indépendants l’un de l’autre. La figure suivante illustre les différents modules et les interactions qui représentent des échanges de l’information. Figure .21.Architecture fonctionnelle. 54 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.3Le module du prétraitement : La principale source mondiale des données d’expression des gènes est le système NCBI 3« The National Center for Biotechnology Information »qui propose une structure de stockage et d’interrogation des données d’expressions des gènes via le projet Gene Expression Omnibus (GEO). Dans le cadre de nos travaux de recherche sur les méthodes de clustering appliquées principalement sur des données biologiques réelles (séquences génomique ou protéique) de la banque de données publique du NCBI nous avons implémenté un programme codé en « Perl » permettant de formater les données d’expérience de puces à ADN de façon à récupérer les informations nécessaire à l’analyse. Les données expérimentales déposées dans ces banques sont des données semi structurées. Elles sont sous forme textuelle en format de données spécifique à la biologie : Figure .22.Morceau d’un fichier d’une séquence génomique semi structurée. 3 http://www.ncbi.nlm.nih.gov/ 55 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Ces documents peuvent être transformés à l’aide de notre outil de prétraitement sous forme de matrice de données directement exploitable par les algorithmes de clustering. Figure .23.Parseur : un programme qui permet de formater les données d’expérience des puces à ADN en une matrice exploitable. Figure .24.Morceau d’un fichier d’une matrice de séquence génomique prête à être analysé par un programme de fouille de données . 56 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.4Le module du clustering : C’est le module qui constitue le noyau de l’application. En interaction avec les autres modules, il permet d’appliquer un algorithme de clustering à un jeu de données précédemment chargé. III.4.1 Le module du clustering hiérarchique : L’algorithme de la classification hiérarchique ascendante est disponible au travers de la fonction ( )contenue dans le package { } de R. L’initialisation de cet algorithme consiste à calculer un tableau de similarités (ou de dissimilarités) entre les individus à classer. L’algorithme démarre alors de la partition triviale des n singletons (chaque individu constitue une classe) et cherche à chaque étape, à constituer des classes par agrégation des deux éléments les plus proches de la partition de l’étape précédente. L’algorithme s’arrête avec l’obtention d’une seule classe. Les regroupements successifs sont représentés sous la forme d’un dendrogramme. L’appel de la fonction : L’appel de la fonction hclust( ) avec les paramètres par défaut, se fait de la façon suivante : =( , = "complete") Figure .25.L’interface du module de clustering hiérarchique. 57 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Les arguments : Les arguments ou les attributs de la classe "hclust"sont les suivants : Nom de l’argument Description Une matrice de distance qu’on peut facilement l’obtenir à l’aide de la fonction ( ) qui calcule la distance euclidienne entre chaque paire de données de la matrice initiale. La méthode d’agrégation des objets. De nombreuxcritères ont été proposés : « Ward » vise à trouver des clusters sphériques, la méthode de liaison « complete » trouve des groupes similaires, la méthode de liaison unique « single » adopte une stratégie de clustering « friends of friends ». Les autres méthodes peuvent être considérées comme visant pour les clusters avec les caractéristiques quelque part entre les méthodes de liaison unique et complete. Notez toutefois que les méthodes « median » et « centroid » ne conduisent pas à une mesure de distance monotone, autrement dit, le dendrogramme résultant peut avoir ce qu’on appelle des inversions (qui sont difficiles à interpréter). Les méthodes : Les opérations principales supportées dans la classe" Nom de l’argument "sont les suivantes : Description Affiche le résultat du clustering sur l’écran. C’est une méthode de visibilité publique. Renvoie un graphique (un dendrogramme).c’est une méthode de visibilité publique. 58 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Une fonction interactive qui coupe l’arbre produit par le clustering à la position verticale du pointeur de la souris et souligne le cluster contenant la position horizontale du pointeur. C’est une méthode de visibilité réservée aux algorithmes de classification hiérarchiques. Dessine des rectangles autour des branches d’un dendrogramme. C’est une méthode de visibilité réservée aux algorithmes de classification hiérarchiques. III.4.2 Le module du clustering par partitionnement : III.4.2 .1 Les algorithmes des k moyenne : Il est important de noter que contrairement à la méthode hiérarchique précédente, le nombre de classes k doit être déterminé à priori. Ces algorithmes requièrent une représentation vectorielle des individus dans muni d’une métrique généralement « euclidienne ». Ayant initialisé k centres de classes par tirage aléatoire, tous les individus sont affectés à la classe dont le centre est le plus proche au sens de la métrique choisie. Dans une deuxième étape. L’algorithme calcule des barycentres de ces classes qui deviennent les nouveaux centres. Le procédé (affectation de chaque individu à un centre, détermination des centres) est itéré jusqu’à convergence vers un minimum (local) ou un nombre d’itérations maximum fixé. L’appel de la fonction : Différents types d’algorithmes ont été implémentés autour du même principe de réallocation dynamique des individus à des centres de classes parmi les quels : Les algorithmes des kmeans (MacQueen)[MAC 67], kmeans (Hartigan and Wong), kmeans(Lloyd) [LLO 82] et kmeans (Forgy) sont implémentés à travers la fonction du package de R. L’appel de la fonction avec les paramètres par défaut, se fait de la façon suivante : L’algorithme kmeans de (Lloyd-Forgy) est implémenté à travers la fonction du package de R. 59 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Contrairement aux méthodes implémentés dans le package , l’algorithme de (LloydForgy) donne le choix à l’utilisateur de spécifier la mesure de distance utilisée. Les arguments : Les arguments ou les attributs de la classe sont les suivants : Nom de l’argument Description Une matrice numérique de données d’entrée. Soit le nombre de clusters, disons k, ou un ensemble de centres initiaux (distincts). Si un entier k est donné alors un ensemble aléatoire d’individus différents de la matrice x est choisi comme centres initiaux. Le nombre maximum d’itérations. Si l’argument « centers » est un nombre, combien d’ensembles aléatoires Devraient être choisis? La mesure de distance à utiliser, ça doit être l’une des métriques suivantes « euclidean », « maximum », « manhattan », « camberra », « binary », « pearson », « correlation », « spearman » ou « kendall ». ce paramètre concerne la fonction du package Une chaîne de caractères indiquant le nom de l’algorithme utilisé. Cet argument est utilisé que par la fonction 60 du package Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Figure .26.L’interface du module de clustering par partitionnement Les objets : Une instance de la classe composants : qui décrit le résultat du processus de clustering est une liste de Nom de l’objet Description Un vecteur d’entiers (de 1 à k) indiquant le cluster à qui appartient chaque point. Une matrice des centres de clusters. La somme des carrés des distances inter clusters. Le nombre de point dans chaque cluster. 61 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. La classe partition: La classe « partition » est une classe interface du package clustering contenues dans ce même package : la fonction , utilisée par les fonctions de , et Les objets : Les objets de la classe « partition » est une liste avec les éléments suivants : Nom de l’objet Description Un vecteur d’entiers de taille le nombre d’observations, donnant pour chaque observation le numéro du cluster a qui elle appartient. Renvoie l’appel de fonction. Une liste composée de 3 éléments (width, clus.avg.widths et avg.width) : Une matrice , pour chaque observation , le cluster a qui appartient cette observation ainsi que le cluster voisin de (le cluster qui ne contient pas d’observation mais ou la dissimilarité moyenne entre ses observations et est minimale) et la valeur de la mesure silhouette de l’observation notée . La valeur moyenne de la matrice par cluster et non pas par observation. La valeur moyenne de la matrice pour toutes les observations. La valeur de la fonction objective pour la classification finale du jeu de données. Renvoie la matrice de dissimilarité des données. Renvoie la matrice issue d’une normalisation si la matrice d’entrée n’était pas normalisée et elle a été calculée par le programme lui-même. Remarque : La « silhouette » de l’observation est donnée par la formule suivante : ou Étant la dissimilarité moyenne entre l’observation et tous les autres points du même cluster. Pour tous les autres 62 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. clusters, des clusters est la moyenne des dissimilarités de l’observation par rapport aux observations , la plus petite dissimilarité est notée . III.4.2.2 L’algorithme CLARA: L’algorithme CLARA (pour Clustering LARge Application) entièrement décrit dans le premier chapitre du mémoire. Comparé à d’autres méthodes de partitionnement, tel que « pam », il peut traiter des ensembles de données beaucoup plus large. Cela est réalisé en tenant compte des sous ensembles de données de taille fixe, donné par le paramètre (sampsize) tels que le temps et la taille de stockage deviennent linéaires en plutôt que quadratique. L’algorithme est disponible au travers de la fonction contenue dans le package de R. L’appel de la fonction : L’appel de la fonction avec les paramètres par défaut, se fait de la façon suivante : Les arguments : Les arguments ou les attributs de la classe sont les suivants : Nom de l’argument Description La matrice de données, chaque ligne correspond à une observation, et chaque colonne correspond à une variable. Les variables doivent être numériques. Les valeurs manquantes dans la matrice sont autorisées. Un entier, le nombre de clusters. Il est nécessaire que le nombre d’observations (i.e., ou est ). Une chaîne de caractères spécifiant la métrique à utiliser pour le calcul des différences entre les observations. Les options disponibles actuellement sont « euclidean » et « manhatten » Les autres arguments sont optionnels : C’est une valeur logique indiquant que si les mesures de la matrice sont normalisées avant le calcul. Les mesures sont normalisées pour chaque variable (colonne) en soustrayant la valeur moyenne de la variable et en 63 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. divisant par l’écart type. Un entier, le nombre d’échantillons à tirer de l’ensemble des données. La valeur par défaut est mise à cinq. Un entier indiquant le nombre d’observation dans chaque échantillon. Il devrait être plus élevé que le nombre de clusters k et inférieur au nombre d’observations Un entier indiquant un niveau de trace pour une sortie de diagnostic lors de l’exécution de l’algorithme. Une valeur logique indiquant si les médoïdes doivent être retournés à l’identique à certaines lignes de la matrice d’entrée. Si FALSE, le paramètre keep.data doit être aussi FALSE. Une valeur logique indiquant si les données doivent être conservées dans le résultat. Ce paramètre s’il est mis à FALSE, permet d’économiser de la mémoire (et donc du temps). Une valeur logique indiquant si le générateur de nombres aléatoires de R doit être utilisé à la place de la primitive intégrée dans l’algorithme. FALSE c’est une valeur choisie de rester toujours FALSE à cause des erreurs de compatibilité entre le code source d’origine « FORTRAN » et le port à la suite en « C ». Les méthodes : Les méthodes utilisées par la classe sont les suivantes : Affiche le résultat du clustering sur l’écran. C’est une méthode de visibilité publique. Renvoie un graphique. C’est une méthode de visibilité publique. Les objets : Une instance de la classe composants : qui décrit le résultat du processus de clustering est une liste de 64 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Nom de l’objet Description Les labels d’échantillon ou le nombre de cas d’observations dans le meilleur échantillon qui est l’échantillon utilisé par l’algorithme pour la partition finale. Les objets représentatifs des clusters. Les indices des médoïdes : ou est la matrice de données d’entrée. La valeur de la fonction objective pour la classification finale du jeu de données. C’est un objet de la classe « partition ». Un vecteur d’entiers de taille le nombre d’observations, donnant pour chaque observation le numéro du cluster a qui elle appartient. C’est un objet de la classe « partition ». Une matrice, ou chaque ligne donne une information numérique pour un cluster donné. (la cardinalité du cluster, la dissimilarité maximale et moyenne entre les observations dans un cluster et les médoïdes du cluster). La dernière colonne est la dissimilarité maximale entre les observations dans un cluster et les clusters médoïdes divisée par la dissimilarité minimale entre les médoïdes des clusters et les médoîdes d’un cluster donné. Si la valeur est petite, le cluster est bien séparé des autres clusters. Renvoie la matrice de dissimilarité des données. Renvoie l’appel de fonction. Renvoie la matrice issue d’une normalisation si la matrice d’entrée n’était pas normalisée et elle a été calculée par le programme lui-même. Une liste composée de 3 éléments (width, clus.avg.widths et avg.width). C’est un objet de la classe « partition ». 65 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.4.2.3 L’algorithme PAM : L’algorithme PAM (pour Partitioning clustering of the data into k clusters Around Medoids) est disponible au travers de la fonction contenue dans le package de R. c’est une version robuste des algorithmes de classification autour des centres mobiles puisqu’il est moins sensible à des valeurs atypiques. Il permet également de traiter des matrices de dissimilarités. En revanche l’algorithme est limité au niveau du nombre d’observations (200). L’appel de la fonction : L’appel de la fonction avec les paramètres par défaut, se fait de la façon suivante : Les arguments : Les arguments ou les attributs de la classe sont les suivants : Nom de l’argument Description Une matrice de données ou une matrice de dissimilarité. Chaque ligne correspond à une observation et chaque colonne correspond à une variable. Les variables doivent être numériques. Les valeurs manquantes sont autorisées. Un entier positif spécifiant le nombre de clusters, il doit être inférieur au nombre d’observations. Un booléen, si TRUE (le paramètre par défaut) alors la matrice est considérée comme une matrice de dissimilarité. Si FALSE, alors est considérée comme une matrice d’observations par variables. Une chaîne de caractères spécifiant la mesure a utiliser pour calculer la dissimilarité entre observations. Les mesures disponibles actuellement sont : « euclidean » et « manhattan ». si estdéjà une matrice de dissimilarité, alors cet argument est ignoré. Cet argument est mis à NULL (par défaut) ou prend un vecteur de taille k d’entiers d’indices pris dans l’ensemble spécifiant les médoïdes initiaux plutôt que laisser le choix à l’algorithme. 66 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Un booléen, si TRUE, les mesures dans la matrice sont normalisées avant le calcul de la matrice de dissimilarité. Si la matrice est déjà une matrice de dissimilarité, l’argument est ignoré. Un booléen, si TRUE, seulement l’objet « clustering » (voir les objets de la classe « partition ») est retourné. Un booléen indiquant si la phase « swap » est utilisée. La valeur par défaut est mise à TRUE, correspondant à l’algorithme original. Notant que « swap » consomme plus de temps que l’algorithme « build » pour un nombre d’observations élevé. Le paramètre peut être ignoré et . Un booléen indiquant si les dissimilarités et/ou les données de la matrice d’entrées doivent être retenues à la sortie. En mettant ceci à FALSE donne moins de résultats et gagner du temps d’allocation mémoire. Un entier indiquant un niveau de trace pour le diagnostic d’impression lors de la phase de construction et d’échange de l’algorithme. La valeur par défaut zéro n’imprime rien. Les méthodes : Les méthodes utilisées par la classe sont les suivantes : Affiche le résultat du clustering sur l’écran. C’est une méthode de visibilité publique. Renvoie un graphique. C’est une méthode de visibilité publique. Les objets : Une instance de la classe qui décrit le résultat du processus de clustering est une liste de composants : 67 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Nom de l’objet Description C’est les modoïdes ou les objets représentatifs des clusters. Si la matrice de dissimilarité est donnée à entrée de l’algorithme « pam » alors le vecteur des observations est généré à la sortie sinon l’objet « medoids » est une matrice avec dans chaque ligne un médoïde. Un vecteur d’entiers des indices des médoïdes. Le vecteur des clusters (voir les objets de la classe « partition ») La fonction objective après la première et la deuxième phase de l’algorithme « pam ». Un objet de la classe « partition ». La liste avec les informations de la fonction « silhouette » voir les objets de la classe « partition ». La matrice de dissimilarité, peut avoir la valeur NULL, voir les objets de la classe « partition ». Génère l’appel. Renvoi la matrice (possible normalisée). -Un vecteur avec une longueur égale au nombre de clusters, en précisant quels sont parmi les clusters qui sont isolés et ceux qui ne le sont pas : ( -un cluster est un si et seulement si son diamètre est plus petit que sa séparation. -un cluster est un Si et seulement si pour chaque observation la dissimilarité maximale entre et toute autre observation du cluster est plus petite que la dissimilarité minimale entre et toute observation d’un autre cluster. -Chaque est également un 68 . Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.4.2.4 L’algorithme QT: L’algorithme QT (Quality Threshold) décrit par Heyer et al en (1999) [HEY 99] autorise à ne pas classifier certains gènes. L’idée de base de cette approche est de fixer arbitrairement un diamètre de classe, un nombre minimal de gènes par classe, et de construire les plus grands clusters possibles ne dépassant pas le diamètre fixé. Les clusters sont construits en prenant successivement chaque gène disponible comme point de départ et en agrégeant itérativement les gènes les plus proches du cluster. La procédure s’arrête quand le plus grand cluster construit a moins de gènes que le minimum fixé. Cet algorithme résout le problème du non exhaustivité : les gènes qui ne rentraient dans aucun cluster QT sont laissés de côté, ce qui évite d’en clustériser « de force ».toute fois un des problème de cet algorithme est qu’il n’est pas basé sur un modèle, mais sur une approche plus constructive. Il est alors difficile de décrire les clusters en intension. De plus, l’aspect arbitraire des paramètres à fixer est gênant car on risque dans un sens de ne pas sélectionner des gènes qui faisaient pourtant partie du groupe, on risque également d’intégrer des gènes qui avaient incidemment un profil proche de celui du groupe mais qui n’en faisaient pas partie. C’est tout le problème posé par un critère arbitraire et donc non inféré des données ou d’une connaissance à priori. L’algorithme QT est implémenté dans R par le package fait comme suit : et l’appel de la fonction se Les arguments : Nom de l’argument Description Une matrice de données numériques. Un rayon maximal des clusters. Un objet de la classe « kccaFamily » inclut dans le package indiquant la mesure de distance à utiliser. Un objet de la classe « flexclustControl » spécifiant le nombre minimum d’observations par cluster(min.size), et des essais par itération (ntry). Un booléen indiquant si on enregistre une copie de (la matrice d’entrée) dans les objets de sortie ou non. Un booléen qui indique si on exécute kcca après que l’algorithme QT a convergé ? 69 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.4.3 Le module du clustering à base de densité : L’algorithme DBSCAN était introduit par Martin Ester et al en (1996)[MAR 96]. Il est implémenté dans le package de R et l’appel de la fonction se fait comme suit : Figure .27.L’interface du module de clustering à base de densité. Les arguments : Les arguments ou les attributs de la classe sont les suivants : Nom de l’argument Description Une matrice de données ou de dissimilarité. Le rayon maximum de voisinage. Nombre minimum d’objets dans le voisinage d’un point. Un booléen indiquant si les données d’entrée sont normalisées ou non. “dist” traite la matrice comme une matrice de dissimilarité, “raw” traite les données comme des lignes. Un booléen indiquant si l’objet “issed” est généré à la sortie ou non. 70 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Pour voir le déroulement de l’algorithme. Si le paramètre alors pas de sortie, si alors une sortie à chaque itération est générée, si alors une sortie à chaque sous itération. Il prend la valeur NULL ou un vecteur de points. Les méthodes : Les méthodes utilisées par la classe sont les suivantes : Montre une statistique du nombre de points appartenant à des clusters qui sont des noyaux et des points frontières. Distingue entre les noyaux et les points de la frontière par un symbole graphique. Les objets : L’algorithme DBSCANfournit à la sortie un objet de la classe composants: qui est une liste de un vecteur d’entiers indiquant l’appartenance aux clusters. Les observations du bruit sont codés 0. Un vecteur logique indiquant si un point non noyau (mais non pas un point bruit ni un point frontière). III.4.4 Le module du clustering flou : III.4.4.1 L’algorithme Fuzzy-c-means : Deux types d’algorithmes sont implémentés pour les versions généralisées des algorithmes des cmoyennes floues : « Fuzzy-c-means » un algorithme introduit par Bezdek [BEZ 81] « Unsupervised Fuzzy Competitive Learning » introduit par Chung et Lee [LEE 92]. L’appel de la fonction : L’appel de la fonction suivante : ( )avec les paramètres par défaut, se fait de la façon 71 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Figure .28.L’interface du module de clustering flou. Les arguments : Les arguments ou les attributs de la classe "Fuzzy cmeans"sont les suivants : Nom de l’argument Description La matrice de données ou les colonnes correspondent aux variables et les lignes aux observations. Nombre de clusters ou des valeurs initiales pour les centres des clusters. Un nombre >1 indiquant le degré de fuzzification. Nombre maximal d’itérations. Un booléen, si TRUE, durant l’apprentissage génère des résulttats. La mesure de distance : « euclidean » ou « manhattan ». Une chaîne de caractères indiquant le nom de l’algorithme utilisé= « cmeans » ou « ufcl ». Un nombre entre 0 et 1 indiquant la vitesse d’apprentissage pour l’algorithme « ufcl ». la valeur par défaut est 0.3 Un vecteur numérique des poids reliés aux nombre d’observations de la matrice x si nécessaire. Une liste de paramètres de contrôle. 72 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.4.4.2 L’algorithme Fuzzy-c-shell : L’algorithme introduit par N.Dave [DAV 96] pour la segmentation des images numériques. Il est implémenté dans le package de R. L’appel de la fonction : L’appel de la fonction Fuzzy cshell( ) avec les paramètres par défaut, se fait de la façon suivante : Les arguments : Les arguments ou les attributs de la classe " "sont les suivants : Nom de l’argument Description La matrice de données ou les colonnes correspondent aux variables et les lignes aux observations. Nombre de clusters ou des valeurs initiales pour les centres des clusters. Un nombre >1 indiquant le degré de fuzzification. Nombre maximal d’itérations. Un booléen, si TRUE, durant l’apprentissage génère des résulttats. Il existe une seule version « cshell » La mesure de distance : « euclidean » ou « manhattan ». Le rayon des clusters résultants. Sa valeur par défaut est égale à 0.2 pour tous les clusters. La classe « fclust » : La classe « fclust » est une classe interface contenue dans le package de R et qui est utilisée par beaucoup de classes héritières : « Fuzzy cmeans », « Fuzzy cshell »et « ufcl ». 73 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Les objets de la classe« fclust »: Nom de l’objet Description Les centres finaux produits par l’un des algorithmes : (cmeans, cshell, ufcl) Le nombre de points dans chaque cluster du clustering strict. Un vecteur d’entiers contenant les indices des clusters où les données sont assignées pour le cas du clustering strict obtenu en assignant les points à la première classe avec un maximum d’appartenance. Le maximum d’itérations. Une matrice avec les degrés d’appartenance des points aux clusters. La valeur de la fonction objective. L’appel utilisé pour créer les objets. III.4.4.3 L’algorithme fanny : L’appel de la fonction : L’appel de la fonction avec les paramètres par défaut, se fait de la façon suivante : Les arguments : Les arguments ou les attributs de la classe sont les suivants : Nom de l’argument Description Une matrice de données ou chaque ligne correspond à une observation et chaque colonne à une variable. ou une matrice de dissimilarités dépendant de l’argument « diss ». toutes les variables de la matrice doivent être numériques et les valeurs manquantes sont autorisées pour la matrice de données. Si x est une matrice de dissimilarité sataille est égale à ou n est le nombre d’observations. 74 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Un entier indiquant le nombre de clusters désirés. n est le nombre d’observations. Un booléen, si TRUE(le paramètre par défaut) alors x est supposé être une matrice de dissimilarité. Sinon x est traiter comme une matrice d’observations par variables. C’est un nombre supérieur à 1 indiquant l’exposant d’appartenance utilisé dans le critère de satisfaction. Il est mis par défaut à 2. Une chaîne de caractère spécifiant la mesure à utiliser pour le calcul des différences entre les observations. Les options sont : « euclidean »(par défaut ) , « manhattan » et SqEuclidean ». en utilisant cette dernière métrique, on obtient des résultats similaires à ceux de l’algorithme « fuzzyc-means ». si la matrice x est déjà une matrice de dissimilarité alors ce paramètre est ignoré. Un booléen, si TRUE, les valeurs dans la matrice x sont normalisées avant le calcul des dissimilarités. Si x est déjà une matrice de dissimilarité alors cet argument est ignoré. Il prend la valeur NULL par défaut ou une matrice (n*k) pour spécifier une matrice d’appartenance de départ. Un booléen, s’il est vrai aucune information « silhouette » sera calculée et retournée en résultat. Des booléens indiquant si la matrice d’entrée doit être conservée dans les résultats. Leurs valeurs par défaut à FALSE permet de gagner du temps d’allocation mémoire. Nombre maximum d’itérations et de la tolérance par défaut de convergence. Pour « fanny »les valeurs par défaut maxit=500. Un entier spécifiant un niveau de trace pour le diagnostique du déroulement de l’algorithme. Par défaut il est mis à zéro et n’imprime rien. 75 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.5 Le module de validation du clustering : III.5.1 La validation interne : A partir d’un résultat de classification non supervisée et de l’information intrinsèque dans la base de données on mesure la qualité du résultat obtenu. Dans notre étude nous avons implémenté cinq indices de validation interne : -L’indice de connectivité : -L’indice de silhouette. -L’indice de Dunn. -L’indice de Calinski et Harabasz. -L’indice de Hubert et Levin. L’indice de Silhouette : L’indice de Silhouette : est définit par Rousseeuw [ROU 87] Pour toute observation l’ensemble par la fonction suivante : ∀ Où : ∈ ; ( )= est la distance moyenne entre l’observation quelle elle appartient ( ). ∀ ∈ ; = − ( , ) et toutes les autres observations de la classe à la | ( )| est la distance moyenne entre l’observation de ∈ ( ) ( , ) et les observations dans la classe la plus proche : ∀ ∈ ; = ∈ ( ) ( , ) ù ( , ) = /| | On notera que l’indice de silhouette est borné : − ≤ ( ) ≤ de 1, de à un autre cluster le plus proche. ) de plus, lorsque ( ) est proche est dit bien classé dans ( ). Quant ( ) est proche de 0, alors classes. Finalement, si ( ) est proche de -1, ∈ ( , se situe entre deux est dit mal classé dans ( ) et doit être rattaché Chaque classe est aussi représentée par une silhouette qui montre quels objets sont correctement classés à l’intérieur de cette classe et lesquels n’ont simplement qu’une position intermédiaire. 76 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Pour une classe donnée, son indice de silhouette est définit par la moyenne des indices de silhouette des individus qui lui appartiennent : ∀ ∈ ; ( )= L’indice de silhouette global de la partition silhouettes dans les différentes classes ( ) /| | ∈ est donné pa la moyenne globale des largeurs de qui composent la partition : ( )= ( )/ ∈ La meilleure partition retenue est alors celle qui permet d’obtenir une silhouette globale maximale. L’indice de Dunn: L’indice de Dunn est basé sur l’identification de clusters compacts et bien séparés. Il est définit par le rapport entre la plus petite dissimilarité interclasse (c'est-à-dire entre deux individus de deux classes différentes) et la plus grande dissimilarité intra classe (c'est-à-dire entre deux individus de la même classe). ( )= / L’indice de Dunn prend que des valeurs strictement positives et il doit être maximisé. L’indice de Calinski et Harabasz: L’indice de Calinski et Harabasz(R.B.Calinsky, 1974), est une fonction de la distance intra-classe et la distance interclasse. Elle est calculée par la formule suivante : Soit le résultat d’une classification non supervisée des gènes. Les gènes sont répartis sur les différents clusters. ( ) est la somme des distances inter cluster et intra cluster. L’indice de Calinski et Harabasz se calcule de la sorte : ( )= ( )= / ( )/( − ) ( )/( − ) () ( )= / () 77 () () (, ) (, ) ( ) la somme des distances Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. étant le nombre de gènes et ( ) représente le numéro du cluster contenant le gène i. ( , ) est la distance entre les gènes i et j. Plus la valeur de l’indice est élevée, meilleur sera le clustering. Plusieurs méthodes de clustering seront effectuées en variant le nombre de clusters, pour chacun l’indice de Calinski et Harabasz sera calculé. Le nombre de clusters optimal sera celui correspondant à l’indice le plus élevé. L’indice de Hubert et Levin[HUB 76]: L’indice de Hubert et Levin ou connu sous le nom de C-index (L.J. Hubert, 1976) est calculé par la formule suivante : ( )= Avec : ( )− ∗ ∗ − ∗ , ≠ - ( ) est la somme des distances intra-classes. - la plus petite distance intra-classes. - la plus grande distance intra-classes. - est le nombre de clusters. - est le nombre de distances intra-classes La valeur de qui minimise ( ) est choisie comme le bon nombre de classes. Une bonne partition est donc indiquée par une petite valeur de l’indice HL qui est toujours comprise entre 0 et 1. L’indice de Connectivité : Notations : Soit : Le nombre des observations. : Le nombre des variables. ,…, : Les observations à classer. = { ,…, } une classification à tester. ( ) est la classe contenant Pour tout ⋯ , et ∈ {1, … , }\ ≤⋯≤ ( , ( c'est-à-dire ( ) ) est le ∈ () voisin le plus proche de ) 78 : ( , )≤ ( , )≤ Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. On pose pour tout , ∈ {1, … , } , ( ) = 0 , ( ) ∈ ( ) Pour une classification , l’indice de connectivité est définit comme suit : ( )= , ,…, ( , ( ) ) Figure .29.L’interface du module de validation interne. On notera que l’indice de connectivité prend ses valeurs dans [0, ∞[ et c’est un coefficient qui doit être minimisé. De plus, lorsque l’indice est proche de zéro veut dire qu’il existe une bonne connectivité à l’intérieur des classes. 79 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.5.2La validation externe : Définition : Etant donnée une partition existante de l’ensemble des individus , = { ,…, ={ ,…, }. } une classification obtenue à l’aide d’un algorithme de classification (hiérarchique, k-means,…). L’objectif est de comparer la classification et la partition . Soit deux individus : et y. Quatre cas sont possibles : Cas1 :∃ ∈ Cas2:∃ ∈ et ∃ et ∃ ≠ Cas3:∃ ≠ ̀ ∈ Cas4:∃ ≠ ̀ ∈ Notons par ∈ et ∃ et ∃ tel que , ∈ ∈ tel que , ≠ ∈ ∈ tel que et , ∈ ∈ , tel que : et ∈ ∈ , ∈ ̀ et , ∈ , ∈ ∈ ∈ ̀ et , l’ensemble des paires ( , ) vérifiant le cas validation externe peuvent être définis : L’indice de Rand : L’indice de Jaccard: = = L’indice de Folkes et Mallows : L’indice de Russel : = = ∗ 80 ∈ , ∈ et par =| |.Quatre indice de Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Figure .30.L’interface du module de validation externe. III.5.3 La validation biologique : La validation biologique évalue les capacités des algorithmes de classification non supervisée à Produire des groupes de gènes biologiquement significatifs. Ainsi elle facilitera l’interprétation des données. L’interprétation biologiques des données génétiques issues d’une classification nécessite de corréler les résultats de ces données à des « informations encyclopédiques » contenues dans certaines bases de données. Ces encyclopédies sont appelées « Ontologies ». Le consortium « Gene Ontology »4 (GO) distribue une classification qui est l’une des références en génomique fonctionnelle, le principal but de (GO) est de définir un vocabulaire uniforme (ce qu’on appelle Ontologie) qui décrit : -Les fonctions des gènes. -Les processus biologiques dans lesquels ils sont impliqués. -Les composants cellulaires ou ils agissent. 4 Http : www.geneontology.org 81 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Parmi les bases de données d’expression des gènes on cite : Gene Expression Omnibus(GEO)5 qui est une base de données d’expression de gènes et aussi un système de recherche de ces données. III.5.4 L’indice de validation biologique : Dans notre étude nous avons utilisé l’indice de validation biologique introduit parDATTA & DATTA [DAT 03] dont le principe est le suivant : On note , l’ensemble des gènes dans une expérience donnée. Etant donné un sous ensemble de l’ensemble des gènes dont les fonctions biologiques sont connues en utilisant une base de données ontologique existante. On suppose que chaque gène dans l’ensemble appartient à un ou = plusieurs classes biologiques : ={ Etant donnée une partition ,…, ,…, . } issue d’un algorithme de clustering donné. On note ( )le cluster biologique contenant le gène biologiques contenant le gène (avec la possibilité de plusieurs fonctions et ( )est le cluster biologique contenant le gène . Comme les deux gènes et appartiennent au même groupe biologique on espère que les deux clusters statistiques ( )et ( )sont les mêmes. Ainsi la formule mathématique de l’indice de validation biologique est le suivant : ( , )= ( ∩ ) est / ( − ) le nombre de gènes dans le cluster statistique ∈ ( ( )= ( )) dont les fonctions biologiques sont connes (au moins une fonction biologique). On assigne à la fonction indicatrice ( ( ) = commun entre les gènes et ( ))la valeur 1 s’il existe un groupe biologique (une seule fonction biologique suffise) sinon ( )= ( ) = . L’intervalle de l’indice VB est[0,1], une valeur proche de 1 correspond à des clusters homogènes. 5 Http : www.ncbi.nlm.nih.gov/geo/ 82 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. III.6 Technologies et langages de programmation : Le logiciel réalisé est une application web installée sur un serveur HTTP (Hyper Text Transfert Protocol), et des outils de liaison (packages et langage), voir la figure. Les postes clients se connectent sur cette application à l’aide d’un navigateur (Iexplorer, Netscape, Mozilla…). Le principe de fonctionnement repose sur la mécanique client/serveur, le client interroge le serveur à l’aide d’une requête HTTP et le serveur retourne généralement une réponse sous la forme d’une page HTML (Hyper Text Markup Language).Les paragraphes ci-dessous décrivent les choix techniques que nous avons adoptés. -Serveur Apache : Le serveur Web utilisé est Apache. Cet outil compte parmi les serveurs Webopen-source les plus utilisés pour l’interprétation des requêtes HTTP. Apache est indispensable pour l’interfaçage entre le serveur et l’utilisateur via les pages et formulaires HTML. Il permet également l’exécution de scripts développés côté serveur. - La méthode CGI : Ce modèle de programmation CGI pour (Common Gateway Interface) a été utilisé pour interfacer les différentes applications, par exemple des pages HTML avec des serveurs d’information (comme une base de données). En d’autres termes cette méthode permet la génération de pages Internet dynamique en réponse aux requêtes formulées par les utilisateurs. En effet, un document HTML est un fichier texte statique dont l’information ne change pas tant qu’il n’est pas édité. Grace à la méthode CGI, l’information devient dynamique et un programme peut être exécuté en temps réel. - Langage de script R : Nommé ainsi en référence à ses deux auteurs, Ross Ihaka et Robert Gentleman (1996). R est un langage orienté objet ce qui signifie que les données, les variables, les fonctions et les résultats sont stockés dans la mémoire de l’ordinateur sous forme d’objets qui ont chacun un nom. 83 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. R est également un langage interprété, i.e. non compilé comme les autres langages de script (tel que PERL ou PHP) ne nécessitent pas de compilations préalables, ils sont «interprétés » à la volée par un programme auxiliaire qui est l’interpréteur. R possède un environnement graphiqued’applications qui permet l’exécution de commandes non seulement en mode interactif maisaussi sous forme de programmes (scripts). Cette dernière fonctionnalité permet aux développeurs decréer des librairies de fonctions.Le noyau de R est implémenté essentiellement en langage C etFORTRAN.Dans un premier temps développé pour les systèmes d’exploitation libres (et gratuits) àsavoir UNIX et Linux, R est très vite devenu disponible pour les systèmes d’exploitationWindows et Mac-OS.R est distribué gratuitement suivant les termes des licencespubliques (GPL). Les codes sources et modules d’applications sont donc librement mis à la disposition de l’ensemble de la communauté scientifique. à partir du site Web du CRAN (Comprehensive R Archive Network). Le langage R est utilisé pour l’implémentation de l’ensemble des algorithmes de clustering développées dans cette application. Il a été choisi pour cesnombreux avantages : -Codes sources libres, et donc réutilisables, -Codes interprétés, par conséquent rapide à déboguer, -Possibilité de construire des librairies de fonctions,documentation très riche. -De plus, les programmes R sont utilisables en tâche de fond. Ils peuvent être appelés par d’autres programmes tels que des scripts PERL sans que l’utilisateur ne s’en aperçoive Le principe de fonctionnement de l’application est modélisé sur le schéma suivant : 84 Contribution 1 : Préparation d’une plateforme pour la validation des algorithmes de clustering. Figure .31.La modélisation dynamique de l’application web. (1) Connexion à l’application Web par un explorateur Internet et demande du formulaire d’analyse par l’utilisateur. (2) Réception de la demande par le serveur Apache ; envoi et (3) Affichage du formulaire d’analyse à l’utilisateur au niveau de son explorateur Internet. (4) Remplissage du formulaire par l’utilisateur et envoi aux programmes d’analyse. (5) Réception et formatage des données du formulaire par le programme CGI. (6) Transfert des paramètres au programme R de traitement des données. (7) Retour des résultats générés par le programme R au programme CGI. (8) Formatage et (9) Affichage des résultats à l’utilisateur au niveau de son explorateur Internet. 85 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.1 Introduction : Cette dernière partie du mémoire est consacrée à l’application des méthodes proposées dans les chapitres précédents et à leurs évaluations qualitativement et quantitativement à partir des différents critères proposés. Nous comparons dans un premier temps sept différents types d’algorithmes de classification non supervisée selon leur type: l’algorithme K-means, l’algorithme des centres mobiles(Forgy), l’algorithme des k-médoïd (Clara), l’algorithme hiérarchique ascendant (hclust) avec différents critères d’agrégation intra classe, l’algorithme hiérarchique descendant(Diana), l’algorithme basé sur la logique flou (Fuzzy cmeans) ainsi que l’algorithme basé sur le modèle neuronal (SOM). La détermination du nombre de clusters dans la classification non supervisée de données qui est un problème ouvert, largement exploité.Nous effectuons pour cela des tests pour chaque algorithme, en variant les nombre des clusters dansl’intervalle [2,6] pour divers indices de validation. Les résultats obtenus sont reportés tel que produits par notre outil avec leurs représentations graphiques. D’un autre coté on utilisetrois types de validation : la validation interne, la validation externe ainsi que la validation biologique afin de comparer ces algorithmes. L’ensemble des développements pour la gestion et le traitement des données issues des expériences des puces à ADN ont été réalisé sur une machine Toshiba dotée d’un processeur i3 M380 (2.53 GHZ) avec une RAM de 4 GO. Le système d’exploitation de cette machine est LINUX FEDORA. IV.2 Présentation des jeux de données : Notre étude a porté sur 10 jeux de données réels (voir la table), parmi lesquelles sont identifiés les leucémies tous types confondus cités largement dans la littérature(M.CP.Souto, 2008)[SOU 08]. Ces ensembles de données ont été obtenus en utilisant deux technologies de puces à ADN (la seconde colonne du tableau): puces monocanal Affymetrix (07 jeux de données) et double-canal ADNc (03 jeux), deux types de tissues sur les quels sont détectées les Leucémies : le sang ou la 87 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. moelle osseuse(la troisième colonne du tableau), le nombre d’observation (la quatrième colonne), le nombre de gènes impliqués dans l’expérience (m étant le nombre des gènes que peut comporter la puce utilisée) et (d c’est le nombre de gènes réellement impliqués dans l’étude obtenue après prétraitement). Les autres colonnes (#c et Dist.classes sont les résultats de la classification non supervisée obtenue par les auteurs de ces données. Dataset chip Armstrong-V1 Affy Armstrong-V2 Tissue n #C Dist.classes m Blood 72 2 24,48 12582 1081 Affy Blood 72 3 24,20,28 12582 2194 Golub-V1 Affy Bone marrow 72 2 47,25 7129 1877 Golub-V2 Affy Bone marrow 72 3 38,9,25 7129 1877 Shipp Affy Blood 77 2 58,19 Yeoh-V1 Affy Bone marrow 248 2 43,205 12625 2526 Yeoh-V2 Affy Bone marrow 248 6 15, 27,64,20,79,43 12625 2526 7129 d 798 Alizadeh-V1 cDNA Blood 42 2 21,21 4022 1095 Alizadeh-V2 cDNA Blood 62 3 42,9,11 4022 2093 Alizadeh-V3 cDNA Blood 62 4 21,21,9,11 4022 2093 Figure .32.Les jeux de données utilisés pour les tests. IV.2 .1 Description des données d’Armstrong-V1 et V2[ARM 02]: Les auteurs ont montré que les algorithmes de clustering révèlent que les leucémies lymphoblastiques avec translocations (MLL) peuvent être clairement séparées des leucémies conventionnelles aiguës lymphoblastique (AML) et les leucémies aiguës myéloïdes (AML). A partir de la, les auteurs ont construit deux jeux de données avec la répartition suivante des échantillons : Armstrong-V1 : 24 ALL et 48 MLL. Armstrong-V2 : 24 ALL ,20 MLL et 28 AML. 88 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.2 .2 Description des données de Golub-V1 et V2 [GOL 99]: Les auteurs présentent une procédure de classification non supervisée permettant de découvrir automatiquement la distinction entre la leucémie aiguë myéloïde (AML) et la leucémie aiguë lymphoblastique (ALL), sans connaissance préalable de ces classes. Ils ont également montré que la procédure peut catégoriser davantage la distinction entre leur cellules d’origine B ou T. Ils utilisent pour la formation de leur modèle un ensemble de données avec 38 échantillons et un autre ensemble de données avec 34 échantillons pour les tests. Les éléments suivants sont construits: Golub-V1 : 47 ALL et 25 MLL. Golub-V2 : 38 ALL-B, 09ALL-T et 25 AML. IV.2 .3 Description des données de Shipp[SHI 02] : Parmi les autres types d’analyse, les auteurs ont étudié si un algorithme d’apprentissage supervisé pourrait générer un classifieur capable de discriminer les tumeurs au sein d’une seule lignée (cellules B). Plus précisément, ils se sont demandés quand est ce que le classifieur pouvait distinguer la forme de leucémie (DLBCL) (Diffuse Large B-cell Lymphoma) Bien que ces deux formes de tumeurs malignes sont très différentes de présentation clinique, les expériences naturelles ont montrés que la FLs évolue souvent au fil du temps et s’acquière les mêmes caractéristiques morphologiques et cliniques de « DLBCL». La répartition obtenue est : Shipp : 58 DLBCL et 19 FLs. IV.2 .4 Description des données d’Yeoh-V1 et V2[YEO 02]: Les auteurs ont étudié les formes de leucémies chez l’enfant. Le traitement de la leucémie aiguë lymphoblastique (ALL) chez l’enfant est basé sur le concept d’adapter l’intensité de la thérapie au risque de rechute du patient. Afin de déterminer si le profil d’expression génique pourrait améliorer l’affectation des risques, les auteurs ont utilisé des puces l’oligonucléotides pour analyser le modèle de gènes exprimés dans les blastes leucémiques de 360 enfants atteint de la leucémie (ALL). Des profils d’expression distincts identifiés chacun des sous types de leucémie pronostique important, y compris : T-ALL, E2A-PBX1, BCR-ABL, TEL-AML1 , réarrangement MLL et hyperdiploid>50 chromosomes. 89 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. En outre, un autre sous groupe d’ALL (OTHER) a été identifié grâce a son profil d’expression unique. Afin de construire notre jeu de données, on a supprimé les échantillons appartenant au groupe (OTHER). Aussi, ils ont créé un autre ensemble de données où les échantillons sont étiquetés soit en tant que T-ALL ou B-ALL. La répartition obtenue est : Yeoh-V1 : 43 T-ALL et 205 B-ALL Yeoh-V2 :43 T-ALL, 27 E2A-PBX1, 15 BCR-ABL, 79 TEL-AML1, 20 MLL et 64 hyperdiploid>50. IV.2 .5 Description des données d’Alizadeh-V1, V2 et V3[ALI 00] : Les auteurs ont utilisé des bio puces (ADNc) pour caractériser les profils d’expression génique des trois plus répondues lymphoïdes malignes atteignant les adultes : DLBCL (Diffuse Large B-cell Lymphoma), le lymphome folliculaire (FL) et la leucémie lymphoïde chronique (CLL). Ils ont en outre identifié deux formes distinctes au niveau moléculaire de la tumeur DLBCL, qui sont notée : DLBCL1 et DLBCL2. De ces dernières analyses, trois ensembles de données avec la répartition suivante : Alizadeh -V1 : 21 DLBCL1 et 21 DLBCL2. Alizadeh -V2 : 42 DLBCL, 09 FL, 11 CLL. Alizadeh -V3 : 21 DLBCL1, 21 DLBCL2, 09 FL et 11 CLL. 90 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3 La validation externe IV.3.1 La validation externe des données d’Alizadeh-V1 : Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,49 0,32 0,49 0,31 0,49 0,31 0,49 0,32 0,51 0,33 0,49 0,34 0,5 0,48 0,5 0,34 0,49 0,32 0,49 0,32 0,5 0,48 0,49 0,32 0,49 0,32 0,49 0,49 FM Russel 0,48 0,24 0,48 0,23 0,48 0,23 0,48 0,24 0,5 0,25 0,51 0,26 0,69 0,47 0,51 0,26 0,48 0,24 0,49 0,24 0,69 0,47 0,48 0,24 0,48 0,24 0,7 0,49 Rand Jaccard FM Indices Russel 1 0,8 0,6 0,4 0,2 0 Algorithmes Discussions : La meilleure valeur de l’indice de Rand est (0.51) obtenue par l’algorithme « Clara » avec la distance Euclidienne, les valeurs maximales des autres indices « Jaccard », de « Folkes et Mallows » et « Russel » sont obtenues par l’algorithme « SOM ». 91 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.2 La validation externe des données d’Alizadeh-V2: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,96 0,91 0,71 0,49 0,72 0,5 0,81 0,67 0,68 0,44 0,72 0,51 0,48 0,47 0,71 0,49 0,89 0,81 0,95 0,9 0,48 0,47 0,71 0,49 0,88 0,8 0,84 0,71 FM Russel 0,96 0,47 0,67 0,28 0,68 0,28 0,8 0,37 0,63 0,25 0,68 0,29 0,67 0,46 0,67 0,28 0,9 0,46 0,95 0,46 0,67 0,46 0,67 0,28 0,89 0,46 0,83 0,4 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : Les meilleuresvaleurs des 4 indices « Rand », « Jaccard »,« Folkes et Mallows » et « Russel » sont obtenues par l’algorithme « Kmeans » avec la distance Euclidienne. 92 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.3 La validation externe des donnéesd’Alizadeh-V3: Algorithmes Rand Jaccard 0,71 0,32 kmeans+euc 0,71 0,29 kmeans+Man 0,71 0,31 Forgy+euc 0,71 0,31 Forgy+Man 0,75 0,36 Clara+euc 0,76 0,41 Clara+Man 0,3 0,26 hclust+euc+single 0,69 0,27 hclust+euc+complete 0,7 0,37 hclust+euc+Average 0,76 0,38 hclust+euc+Ward 0,3 0,26 hclust+euc+centroid 0,7 0,28 Diana 0,69 0,45 Cmeans 0,72 0,32 SOM FM Russel 0,48 0,13 0,44 0,12 0,48 0,13 0,48 0,13 0,53 0,14 0,59 0,17 0,49 0,24 0,42 0,11 0,54 0,17 0,55 0,15 0,49 0,24 0,43 0,11 0,66 0,25 0,49 0,13 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : La meilleure valeur de l’indice de Rand est (0.76) obtenue par les algorithmes « Clara » avec la distance Manhattan ainsi que l’algorithme hiérarchique « Hclust » avec la relation « Ward ».Les valeurs maximales des autres indices « Jaccard », de « Folkes et Mallows » et « Russel » sont obtenues par l’algorithme « Fuzzy c-means». 93 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.4 La validation externe des données de Golub V1: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,8 0,68 0,72 0,57 0,87 0,78 0,74 0,59 0,85 0,74 0,89 0,82 0,55 0,54 0,7 0,55 0,49 0,43 0,95 0,91 0,55 0,54 0,49 0,43 0,78 0,65 0,54 0,54 FM Russel 0,81 0,42 0,73 0,38 0,88 0,46 0,75 0,39 0,85 0,44 0,9 0,48 0,73 0,53 0,71 0,37 0,61 0,39 0,95 0,52 0,73 0,53 0,6 0,38 0,79 0,41 0,74 0,54 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : La meilleure valeur de l’indice de « Russel » est (0.54) obtenue par les algorithmes « SOM ». Les valeurs maximales des autres indices «Rand», de « Folkes et Mallows » et « Jaccard» sont obtenues par l’algorithme hiérarchique «Hclust » avec le critère d’agrégation« Ward ». 94 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.5 La validation externe des données de Golub V2: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,96 0,91 0,77 0,52 0,84 0,65 0,78 0,59 0,9 0,78 0,88 0,74 0,41 0,39 0,75 0,55 0,92 0,81 0,92 0,82 0,42 0,4 0,88 0,74 0,79 0,62 0,78 0,56 FM Russel 0,96 0,38 0,69 0,25 0,79 0,3 0,74 0,32 0,87 0,35 0,85 0,34 0,62 0,38 0,71 0,3 0,9 0,35 0,9 0,36 0,63 0,39 0,85 0,33 0,77 0,35 0,72 0,29 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : La meilleure valeur de l’indice de « Russel » est (0.39) obtenues par l’algorithme hiérarchique «Hclust » avec le critère des centres de gravité « Centroid». Les valeurs maximales des autres indices «Rand», de « Folkes et Mallows » et « Jaccard» sont obtenues par l’algorithme « Kmeans » avec la distance Euclidienne. 95 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.6 La validation externe des données de Yeoh V1: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,5 0,41 0,66 0,65 0,59 0,5 0,5 0,42 0,54 0,45 0,71 0,71 0,71 0,71 0,5 0,43 0,57 0,51 0,5 0,42 0,71 0,71 0,54 0,45 0,57 0,48 0,71 0,71 FM Russel 0,6 0,36 0,79 0,62 0,68 0,42 0,6 0,36 0,63 0,39 0,84 0,71 0,84 0,71 0,61 0,37 0,67 0,45 0,6 0,36 0,84 0,71 0,63 0,38 0,66 0,39 0,84 0,71 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : Les algorithmes suivants : «Clara » avec la distance Manhattan, « Hclust » avec les critères d’agrégation « Single » et des centres de gravité, « SOM » maximisent l’indice de « Rand », « Jaccard » et « Russel » avec une valeur 71% et « Folkes et Mallows » de 84%. 96 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.7 La validation externe des données de Yeoh V2: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,75 0,29 0,58 0,26 0,78 0,32 0,78 0,28 0,82 0,38 0,59 0,26 0,24 0,21 0,76 0,27 0,57 0,28 0,7 0,25 0,24 0,22 0,73 0,31 0,71 0,27 0,78 0,28 FM Russel 0,45 0,1 0,44 0,15 0,48 0,1 0,44 0,08 0,55 0,11 0,45 0,14 0,46 0,21 0,42 0,09 0,49 0,17 0,41 0,1 0,46 0,21 0,47 0,12 0,43 0,11 0,44 0,09 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : Les valeurs maximales des indices «Rand », de « Folkes et Mallows » et « Jaccard » sont obtenues par l’algorithme « Clara » avec la distance « Euclidienne ».La meilleure valeur de l’indice de Russel est 21% obtenue par l’algorithme hiérarchique « Hclust » avec les critères d’agrégation « Single » et des centres de gravité. 97 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.8 La validation externe des données de Shipp V1: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,59 0,46 0,58 0,46 0,55 0,43 0,54 0,42 0,64 0,51 0,7 0,61 0,64 0,63 0,57 0,52 0,64 0,63 0,57 0,44 0,64 0,63 0,57 0,44 0,59 0,46 0,62 0,62 FM Russel 0,63 0,35 0,63 0,37 0,6 0,34 0,59 0,33 0,68 0,38 0,76 0,47 0,79 0,62 0,69 0,47 0,79 0,62 0,62 0,34 0,79 0,62 0,61 0,34 0,63 0,35 0,79 0,62 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : L’indice de « Rand » indique qu’un partitionnement avec l’algorithme « Clara » avec la distance Manhattan est 70% semblable à la classification des auteurs des données, alors que l’indice de « Folkes & Mallows » indique une valeur de 79% est obtenue par l’algorithme hiérarchique ascendant et « SOM ». 98 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.9 La validation externe des données de d’Armstrong V1: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,63 0,48 0,52 0,51 0,63 0,48 0,63 0,48 0,59 0,45 0,63 0,48 0,54 0,54 0,59 0,45 0,61 0,46 0,59 0,45 0,54 0,54 0,59 0,45 0,63 0,48 0,55 0,55 FM Russel 0,65 0,34 0,7 0,5 0,65 0,34 0,65 0,34 0,62 0,33 0,65 0,34 0,73 0,53 0,62 0,33 0,63 0,33 0,62 0,33 0,73 0,53 0,62 0,33 0,65 0,34 0,74 0,55 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : La meilleure valeur de l’indice de Rand est 63% obtenue par les algorithmes « Clara » avec la distance Manhattan, « Forgy », « Kmeans » avec la distance « Euclidienne » ainsi que « Fuzzy cmeans ». Les valeurs maximales des autres indices « Jaccard », de « Folkes et Mallows » et « Russel » sont obtenues par l’algorithme « SOM». 99 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. IV.3.10 La validation externe des données d’Armstrong V2: Algorithmes kmeans+euc kmeans+Man Forgy+euc Forgy+Man Clara+euc Clara+Man hclust+euc+single hclust+euc+complete hclust+euc+Average hclust+euc+Ward hclust+euc+centroid Diana Cmeans SOM Rand Jaccard 0,71 0,45 0,77 0,54 0,79 0,52 0,85 0,63 0,92 0,77 0,91 0,75 0,34 0,32 0,75 0,52 0,77 0,56 0,9 0,75 0,34 0,32 0,74 0,51 0,76 0,55 0,8 0,58 FM Russel 0,62 0,24 0,71 0,28 0,69 0,23 0,77 0,25 0,87 0,29 0,86 0,28 0,55 0,31 0,69 0,27 0,74 0,3 0,86 0,29 0,55 0,31 0,68 0,27 0,72 0,29 0,75 0,28 Rand Jaccard FM Indices Russel 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Algorithmes Discussions : Les valeurs maximales des indices « Jaccard », de « Folkes et Mallows » et « Rand » sont obtenues par l’algorithme « Clara » avec la distance « Euclidienne ».La meilleure valeur de l’indice de Russel est 31% obtenue par l’algorithme hiérarchique « Hclust » avec les critères d’agrégation « Single » et des centres de gravité. 100 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 1 100 0,9 90 0,8 0,8 80 0,7 0,7 70 0,6 0,6 0,5 0,4 0,3 0,2 0,1 0 2 3 4 5 6 kmeans 0,74 0,76 0,66 0,65 0,75 Forgy 0,75 0,72 0,63 0,67 Clara 0,66 0,72 0,72 0,71 Hclust 0,8 0,8 0,78 Diana 0,75 0,76 Fcmeans 0,74 0,74 0,76 0,5 0,4 0,3 0,2 0,1 0 2 3 4 5 6 kmeans 0,4 0,4 0,2 0,2 0,4 0,69 Forgy 0,5 0,4 0,1 0,3 0,71 Clara 0,3 0,3 0,4 0,4 0,78 0,78 Hclust 0,3 0,3 0,5 0,77 0,77 0,78 Diana 0,5 0,4 0,4 0,77 0,75 0,75 Fcmeans 0,5 0,78 0,77 0,77 som 1 5 4,5 0,8 4 0,7 3,5 0,6 0,5 0,4 0,3 0,2 0,1 0 0,5 2 3 4 5 0,65 0,62 0,63 0,58 0,86 20 10 0 3 4 5 6 61,34 65,2 61,94 0,1 Forgy 25,14 39,64 66,16 63,51 71,23 0,4 Clara 37,47 47,71 45,48 46,61 52,7 0,7 0,8 Hclust 3,55 7,41 11,57 15,32 18,94 0,4 0,4 Diana 22,67 35,59 44,87 49,27 51,87 Fcmeans 32,55 30,18 37,51 41,23 49,49 39,34 43,03 45 55,1 0,5 0,4 2 1,5 1 2 3 4 5 6 kmeans 2,75 2,71 2,05 2,06 1,82 Forgy 0,65 0,56 0,52 0,58 0,65 Forgy 3,37 2,65 1,96 2,29 1,9 Clara 0,59 0,62 0,59 0,54 0,52 Clara 2,4 2,49 2,55 2,47 2,27 Hclust 0,86 0,86 0,86 0,86 0,86 Hclust 1,03 1,07 1,07 1,08 1,07 Diana 0,65 0,65 0,63 0,61 0,61 Diana 3,47 2,81 2,56 2,39 2,23 Fcmeans 0,64 0,86 0,66 0,87 0,86 Fcmeans 3,23 1,57 2,38 1,72 1,76 som 0,63 0,66 0,64 0,57 0,57 som 2,34 2,73 2,64 2,36 101 30 37,95 3 0 40 2 2,5 6 50 37,25 0,5 kmeans 60 kmeans 0,3 0,3 0,9 IndicedeCalinski IndicedeH ubert som IndicedeConnectivity 1 0,9 IndicedeSilhouette IndicedeD unn IV.4 La validation interne : Les données d’Alizadeh V1: som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: Les résultats indiquent qu’une meilleure valeur de l’indice de « Dunn » est obtenue par l’algorithme hiérarchique (0.8) avec 2 à 3 clusters. Selon l’indice de « Silhouette », un meilleur résultat est toujours obtenu par l’algorithme hiérarchique (0.8) mais avec un nombre de cluster égal à 6, alors que les meilleures valeurs de cet indice ont été obtenues pour un nombre de cluster égal à 2 par les trois algorithmes « Forgy », « Diana » et « Fuzzy c-means » avec une valeur identique de 0.5. Pour l’indice de « Connectivité » la meilleure valeur est obtenu pour un nombre de cluster égal à 2 pour la majorité des algorithmes à l’exception de l’algorithme « Fuzzy c means » et « SOM » dont les meilleures valeurs sont obtenues pour un nombre de cluster égale à 3. L’algorithme Hiérarchique reste indifférent pour l’indice d’Hubert et ce quelque soit le nombre de clusters, d’autre part les meilleures valeurs de l’indice diffèrent d’un algorithme à un autre. Concernant l’indice de « Calinski et Harabasz » les meilleures valeurs sont obtenues majoritairement pour un nombre de cluster égal à 2. Finalement, on conclue que le nombre de cluster retenu pour ce jeu de données est égal à 2 pour l’identification de clusters compacts et bien séparés. Ce qui est conforme aux résultats obtenus dans la littérature. 102 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 0,5 100 0,45 90 0,8 0,4 80 0,7 0,6 0,5 0,4 0,3 0,35 0,3 0,25 0,2 0,15 0,2 0,1 0,1 0,05 0 0 70 60 50 40 30 20 10 0 2 3 4 5 6 2 3 4 5 6 2 3 4 5 6 kmeans 0,77 0,67 0,62 0,65 0,71 kmeans 0,17 0,1 0,1 0,08 0,08 kmeans 2,75 39,8 45,26 52,06 58,33 Forgy 0,77 0,61 0,6 0,65 0,66 Forgy 0,17 0,12 0,07 0,09 0,08 Forgy 2,75 10,3 46,22 62,13 62,73 Clara 0,77 0,68 0,61 0,64 0,64 Clara 0,17 0,11 0,06 0,07 0,07 Clara 2,75 28,64 51,33 49,56 50,95 Hclust 0,77 0,72 0,72 0,72 0,71 Hclust 0,03 0,02 0,02 0,03 0,02 Hclust 3,03 6,24 9,38 12,43 16,35 Diana 0,77 0,73 0,71 0,71 0,72 Diana 0,17 0,12 0,11 0,12 0,11 Diana 2,75 20,45 34,18 34,62 44,41 Fcmeans 0,77 0,77 0,77 0,77 0,77 Fcmeans 0,17 Fcmeans 2,75 2,75 2,75 2,75 2,75 0,64 0,64 0,61 0,63 som 0 14,95 30,44 48,93 55,66 som 1 20 18 0,8 16 0,7 14 0,6 0,5 0,4 0,3 0,08 0,08 10 8 6 4 0,1 2 0 2 3 4 5 6 kmeans 0,66 0,65 0,61 0,63 0,64 Forgy 0,66 0,68 0,64 0,6 Clara 0,66 0,67 0,62 0,63 Hclust 0,82 0,82 0,82 0,82 Diana 0,66 0,63 0,64 0,8 0,8 Fcmeans 0,66 0,81 0,81 0,66 0,81 0,7 0,66 0,67 0,58 0,58 som som 0,08 12 0,2 0 0,17 0,1 0,9 IndicedeCalinski IndicedeHubert IndicedeConnectivity 1 0,9 IndicedeSilhouette IndicedeDunn Les données d’Alizadeh V2: La validation interne : 2 3 4 5 6 kmeans 14,16 8,65 6,8 5,58 4,79 0,59 Forgy 14,16 8,99 5,99 5,41 4,54 0,61 Clara 14,16 9,17 6,8 6,18 5,6 0,82 Hclust 1,02 1,04 1,05 1,06 1,19 Diana 14,16 9,06 7,22 5,77 5,14 Fcmeans 14,16 6,96 4,56 14,16 2,64 7,89 7,62 6,02 5,71 103 som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: Selon l’indice de « Dunn » une meilleure valeur (0.77) est obtenue pour deux clusters par tous les algorithmes testés, à l’exception de « SOM », l’algorithme « Fuzzy c-means » est indifférent pour cet indice. Selon l’indice de « Silhouette », la valeur maximale (0.17) est obtenue par tous les algorithmes à l’exception de « SOM » pour un nombre de cluster égale à 2. L’algorithme « Fuzzy c-means » n’obtient aucune valeur pour (k=3,4 et 6) clusters. Selon l’indice de « Connectivité », la valeur minimale est obtenue pour un nombre de cluster égal à deux par tous les algorithmes sans exception. L’algorithme hiérarchique reste stable pour l’indice d’Hubert quelque soit le nombre de clusters, et la meilleure valeur de cet indice diffère d’un algorithme à un autre : une bonne distance intra cluster pour l’algorithme « Kmeans » peut être obtenue avec (k=4), alors que pour les algorithmes « Forgy », « Clara » et « SOM » c’est (k=6), pour « Diana » c’est (k=3), l’algorithme flou « Fuzzy cmeans » et « SOM » peuvent partitionner le jeu de données avec (k=5) avec une meilleur valeur d’indice d’Hubert. L’indice de « Calinski » indiquant la relation inter-intra clusters confirme le choix de deux clusters par la majorité des algorithmes ainsi que les résultats de l’indice de « Dunn ». 104 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 0,5 100 0,45 90 0,8 0,4 80 0,35 70 0,7 0,6 0,5 0,4 0,3 IndicedeConnectivity 1 0,9 IndicedeSilhouette IndicedeD unn Les données d’Alizadeh V3: La validation interne : 0,3 0,25 0,2 0,15 60 50 40 30 0,2 0,1 20 0,1 0,05 10 0 0 0 2 3 4 5 6 2 3 4 5 6 2 3 4 5 6 kmeans 0,77 0,64 0,63 0,64 0,61 kmeans 0,17 0,11 0,11 0,06 0,08 kmeans 3,22 22,74 40,63 66,47 67,44 Forgy 0,77 0,6 0,71 0,64 0,45 Forgy 0,17 0,11 0,1 0,06 0,03 Forgy 2,75 23,22 44,26 45,48 82,05 Clara 0,77 0,68 0,61 0,64 0,64 Clara 0,17 0,11 0,06 0,07 0,07 Clara 2,75 28,64 51,31 49,58 50,95 Hclust 0,77 0,72 0,72 0,72 0,71 Hclust 0,03 0,02 0,02 0,03 0,02 Hclust 3,03 6,24 9,38 12,43 16,35 Diana 0,77 0,73 0,71 0,71 0,72 Diana 0,17 0,12 0,11 0,12 0,11 Diana 2,75 20,45 34,2 34,64 44,41 Fcmeans 0,77 0,77 0,77 0,77 0,77 Fcmeans 0,17 Fcmeans 2,75 2,75 2,75 2,75 2,75 0,64 0,64 0,64 0,65 som 0 17,87 35,88 42,08 53,98 0,1 1 20 0,9 18 0,8 16 0,7 14 IndicedeCalinski IndicedeH ubert som 0,6 0,5 0,4 0,3 6 2 0 2 3 4 5 6 0,64 0,64 0,59 0,57 Forgy 0,66 0,65 0,61 0,69 Clara 0,66 0,67 0,62 0,63 Hclust 0,82 0,82 0,82 0,82 0,82 Diana 0,66 0,63 0,64 0,8 0,8 Fcmeans 0,66 0,81 0,66 0,81 0,81 0,7 0,65 0,66 0,61 0,62 som som 0,07 8 4 0,67 0,09 10 0,1 kmeans 0,08 12 0,2 0 0,17 2 3 4 5 6 kmeans 14,28 8,75 7,07 5,16 4,79 0,6 Forgy 14,16 8,44 6,87 5,59 4,6 0,61 Clara 14,16 9,17 6,8 6,18 5,6 Hclust 1,02 1,04 1,05 1,06 1,19 Diana 14,16 9,06 7,22 5,77 5,14 Fcmeans 14,16 6,96 14,16 4,56 2,64 7,96 7,51 6,24 5,8 105 som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: Nous remarquons dans ce jeu de données qu’une meilleure partition est obtenue majoritairement pour un nombre de cluster égale à 2 selon l’indice de « Dunn » avec une valeur identique (0.77) et ce quelque soit l’algorithme de classification non supervisée utilisé dans ce test, à l’exception de l’algorithme « SOM » qui n’obtient aucune valeur pour cet indice (cas indéterminé). La même constatation est faite pour les résultats de l’indice « Connectivité » ou la meilleure valeur qui minimise la distance inter classes est obtenue par l’algorithme « SOM » (0), les algorithmes « Forgy », »Clara », »Diana » et « Fuzzy cmeans » obtiennent la même valeur (2.75) pour le nombre (k=2). L’indice de « Silhouette » indique également que le choix du nombre de classe (k=2) par n’importe quel algorithme de classification non supervisée permet de classer correctement les profiles d’expression des gènes dans les classes appropriées. La valeur qui maximise l’indice est égale à (0.17) partout. L’indice de « Calinski » rejoigne les indices de validation précédents pour le choix du nombre de cluster optimale égale à 2. Cependant, l’indice d’Hubert n’a pas le même choix du nombre de clusters retenu pour ce jeu de données. En effet, le nombre (k=6) est choisi comme un bon nombre de classes par 3 algorithmes, à savoir : « kmeans » (0.57), « Forgy » (0.6), « Clara » (0.61). Les résultats de l’algorithme « Fuzzy c-means » indiquent un meilleur partitionnement de l’échantillon avec (k=4) selon les 3 indices de validation (« Silhouette », « Calinski », « Hubert ») ce qui est en adéquation avec les résultats des auteurs des données. 106 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 90 0,4 80 0,35 0,3 0,25 0,15 0,1 0,05 5 6 53,73 53,16 0,11 Forgy 20,12 35,23 39,35 53,86 53,31 0,11 Clara 16,81 24,01 49,29 60,18 58,36 0,03 0,07 Hclust 3,03 5,96 8,89 12,39 19,13 0,11 0,11 Diana 10,42 23,47 31,71 45,49 50,52 Fcmeans 19,74 24,66 24,66 24,66 24,66 0 35,98 32,26 42,74 53,12 0,11 0,11 0,39 Forgy 0,13 0,07 0,15 0,11 0,49 Clara 0,13 0,16 0,12 0,09 0,7 0,65 Hclust 0,07 0,03 0,03 0,57 0,57 0,58 Diana 0,1 0,16 0,14 0,38 0,38 0,38 0,38 Fcmeans 0,53 0,39 0,57 0,58 som 0,52 Forgy 0,49 0,48 0,57 0,38 Clara 0,49 0,56 0,52 0,52 Hclust 0,76 0,75 0,74 Diana 0,6 0,56 0,55 0,9 18 0,8 16 0,7 14 IndicedeCalinski 20 0,6 0,5 0,4 0,3 6 2 5 6 kmeans 0,68 0,68 0,63 0,63 0,6 0,12 8 4 4 0,13 10 0,1 3 0,15 12 0,2 2 0,13 0,09 1 0 4 0,12 0,53 0 2 3 4 5 6 kmeans 11,87 7,42 9,15 8,22 6,9 Forgy 0,69 0,68 0,62 0,58 0,57 Forgy 11,79 6,95 9,22 7,49 6,68 Clara 0,68 0,64 0,64 0,62 0,56 Clara 11,78 11,06 8,49 7,53 7,42 Hclust 0,85 0,85 0,85 0,85 0,83 Hclust 1,21 1,18 1,15 1,15 2,19 Diana 0,74 0,63 0,63 0,59 0,61 Diana 6,77 10,92 8,89 7,95 7,35 Fcmeans 0,68 0,8 0,8 0,8 0,8 11,96 5,74 5,74 2,79 2,79 som 0,77 0,66 0,62 0,59 0,58 7,37 9,27 8,16 7,54 Fcmeans som 107 0 43,78 0,08 0,53 20 3 0,13 0,53 30 34,67 kmeans 0,55 40 2 6 kmeans 50 15,72 5 6 60 kmeans 4 5 70 10 3 4 som 0 2 3 IndicedeHubert 100 0,2 2 Fcmeans 0,5 0,45 IndicedeConnectivity IndicedeDunn 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 Silhouette Les données de Golub V1: La validation interne : som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: Nous remarquons que la meilleure performance de la classification non supervisée est majoritairement obtenue pour un nombre de cluster (k=2 ou 3). En effet, selon les résultats obtenus, les algorithmes « Kmeans », « hiérarchique », « Diana » ainsi que « Fuzzy c-means » maximisent l’indice de « Dunn » pour (k=2), alors que « Clara » obtient des clusters séparés et compacts pour (k=3). Cependant, l’indice de « Calinski » dont le but est le même que celui de « Dunn » à savoir la validation inter-intra clusters indique que l’algorithme « Forgy » et « Clara » peuvent obtenir de bonnes partitions avec (k=2). L’algorithme descendant hiérarchique peut avoir également 3 clusters bien séparés et homogènes avec (k=3) selon l’indice de « Calinski ». L’indice de « Silhouette » dont le but est de maximiser la relation intra cluster, indique que l’algorithme « Kmeans » et l’algorithme « hiérarchique ascendant » obtiennent de bons clusters avec (k=2), alors que l’algorithme « Diana » et « Clara » obtiennent de bons résultats avec (k=3). L’indice de validation inter cluster « Connectivité » indique un choix du nombre de cluster pour (k=2) pour tous les algorithmes de clustering étudiés. Un partitionnement de ce jeux de données pour (k=4) peut être envisagé par l’algorithme « Forgy » (selon l’indice de « Dunn » et « Silhouette ») ou avec l’algorithme « SOM » (d’après les résultats de l’indice « Silhouette » et « Calinski ») 108 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 2 3 4 5 6 kmeans 0,55 0,5 0,38 0,53 0,48 100 90 0,4 80 0,35 0,3 0,25 0,2 0,15 70 60 50 40 30 0,1 20 0,05 10 0 2 3 4 5 6 kmeans 0,13 0,1 0,08 0,1 0,11 0 2 3 4 5 6 kmeans 16,69 40,37 58,21 48,39 59,68 Forgy 0,55 0,57 0,54 0,53 0,53 Forgy 0,13 0,16 0,12 0,09 0,1 Forgy 17,84 20,01 36,09 61,43 59,51 Clara 0,49 0,56 0,52 0,52 0,49 Clara 0,13 0,16 0,12 0,09 0,11 Clara 16,81 24,01 49,29 60,18 58,36 Hclust 0,76 0,75 0,74 0,7 0,65 Hclust 0,07 0,03 0,03 0,03 0,07 Hclust 3,03 5,96 8,89 12,39 19,13 Diana 0,6 0,56 0,57 0,57 0,58 Diana 0,1 0,16 0,14 0,11 0,11 Diana 10,42 23,47 31,71 45,49 50,52 0,38 0,38 0,38 0,38 0,38 Fcmeans 0,13 0,13 0,13 Fcmeans 24,66 24,66 24,66 24,66 24,66 0,5 0,55 0,55 0,52 som 0,09 0,13 0 39,68 30,49 45,46 60,13 Fcmeans som 1 20 0,9 18 0,8 16 0,7 14 IndicedeCalinski IndicedeH ubert 0,5 0,45 IndicedeConnectivity 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 IndicedeSilhouette IndicedeD unn Les données de Golub V2: La validation interne : 0,6 0,5 0,4 0,3 0,1 12 10 8 6 0,2 4 0,1 2 0 0,13 0 2 3 4 5 6 2 3 4 5 6 kmeans 0,69 0,65 0,64 0,61 0,58 kmeans 11,91 8,19 6,99 7,49 7,32 Forgy 0,68 0,66 0,63 0,62 0,56 Forgy 11,99 11,01 9,04 7,5 6,61 Clara 0,68 0,64 0,64 0,62 0,56 Clara 11,78 11,06 8,49 7,53 7,42 Hclust 0,85 0,85 0,85 0,85 0,83 Hclust 1,21 1,18 1,15 1,15 2,19 Diana 0,74 0,63 0,63 0,59 0,61 Diana 6,77 10,92 8,89 7,95 7,35 Fcmeans 0,68 0,68 0,8 0,68 0,8 11,65 11,65 5,74 11,65 3,77 som 0,77 0,66 0,64 0,6 0,59 7,51 9,13 8,43 7,17 Fcmeans som 109 som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: D’après les résultats des indices de validation interne pour les données de « Golub V2 », on remarque ce qui suit : Le choix du nombre de classes varie de 2 à 3 pour les 3 indices de validation : « Dunn », « Silhouette » et « Calinski ». En effet, l’algorithme « Kmeans »(0.55), l’algorithme hiérarchique (0.76) et « Diana » (0.60) maximisent l’indice de « Dunn » pour (k=2), alors que l’algorithme « Forgy » (0.57) et « Clara » (0.56) obtiennent de meilleures partitions avec (k=3). L’algorithme « Fuzzyc-means » est indifférent pour cet indice. Concernant l’indice de « Silhouette », l’algorithme « Kmeans » (0.13) et l’algorithme hiérarchique (0.07)maximisent l’indice pour (k=2), alors que « Forgy », »Clara » et « Diana » maximisent l’indice pour (k=3). Les algorithmes « Kmeans »(11.91), « Forgy » (11.99) ainsi que « Clara »(11.78) maximisent l’indice de « Calinski » pour (k=2) alors que l’algorithme hiérarchique ascendant « Hclust » et descendant « Diana » maximisent l’indice pour (k=3). Nous confirmons ainsi les travaux antérieurspermettant de distinguer automatiquement deux types de maladies : la leucémie aiguë myéloïde (AML) et la leucémie aiguë lymphoblastique (ALL), donc (k=2). Ils ont également montré que les données peuvent catégoriser davantage la distinction entre leur cellules d’origine B ou T, d’où le choix de (k=3). 110 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Les données de YeohV1: La validation interne : 1 0,9 0,85 0,8 2 3 4 5 6 kmeans 0,87 0,89 0,87 0,87 0,87 Forgy 0,87 0,87 0,87 0,87 Clara 0,9 0,9 0,87 0,87 Hclust 0,95 0,95 0,95 Diana 0,9 0,9 Fcmeans 0,89 som 1000 900 0,08 800 0,07 700 IndicedeConnectivity IndicedeSilhouette IndicedeDunn 0,95 0,1 0,09 0,06 0,05 0,04 0,03 400 300 200 0,01 100 0 0 2 3 4 5 6 2 3 4 5 6 kmeans 0 0 0 0 0 kmeans 325,53 437,3 511,73 552,86 568,81 0,87 Forgy 0 0 0 0 0 Forgy 329,92 458,21 505,91 548,43 559,15 0,89 Clara 0 0 0 0 0 Clara 316,8 443,57 508,34 531,42 547,84 0,95 0,95 Hclust 0,01 0,01 0,01 0,01 0,01 Hclust 3,29 6,64 10,36 13,86 17,67 0,9 0,9 0,9 Diana 0 0 0 0 0 Diana 238,79 310,61 325,67 339,85 349,45 0,87 0,87 0,87 0,87 Fcmeans 0 0 0 0 0 Fcmeans 277,35 399,46 433,99 476,44 485,69 0,91 0,91 0,9 0,87 som 0 0 0 0 som 0 1,23 90,03 112,38 130,77 2 1,8 0,95 1,6 1,4 IndicedeCalinski 0,9 IndicedeHubert 500 0,02 1 0,85 0,8 1,2 1 0,8 0,6 0,4 0,75 0,2 0,7 600 2 3 4 5 6 kmeans 0,84 0,87 0,82 0,81 0,84 0 2 3 4 5 6 kmeans 1,11 1,14 1,15 1,1 1,1 Forgy 0,82 0,83 0,82 0,83 0,81 Forgy 1,09 1,12 1,12 1,13 1,14 Clara 0,86 0,85 0,81 0,82 0,86 Clara 1,11 1,11 1,12 1,14 1,14 Hclust 0,98 0,98 0,98 0,98 0,98 Hclust 1,01 1,01 1,01 1,01 1,01 Diana 0,86 0,86 0,86 0,86 0,86 Diana 1,54 1,46 1,39 1,34 1,33 Fcmeans 0,84 0,79 0,84 0,83 0,8 Fcmeans 1,34 1,31 1,27 1,25 1,25 som 0,85 0,86 0,85 0,85 0,82 som 1,1 1,09 1,13 111 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: Les résultats obtenus pour ce jeu de données varient d’un algorithme de classification à un autre. En effet : pour de meilleurs résultats des rapports de distances inter et intra classes, l’algorithme « Kmeans » obtient de bonnes valeurs pour un nombre de clusters (k=3 ou 4) selon l’indice de « Dunn » et « Calinski » respectivement. Pour l’algorithme « Forgy », le nombre de clusters n’est pas déterminé par l’indice de « Dunn » par contre il obtient de meilleurs résultats pour (k=6) selon l’indice de « Calinski ». L’algorithme « Clara » maximise l’indice de « Dunn » pour (k=2 ou 3) alors que selon l’indice de « Calinski » le nombre optimal est (k=5 ou 6). L’indice de « Dunn » ne permet pas le choix du nombre de clusters appropriés pour les deux algorithmes hiérarchiques (hclust et Diana), L’algorithme « Diana » maximise l’indice de « Calinski » pour (k=2). Les deux indices de validation inter-intra classes permettent de sélectionner (k=2) pour le partitionnement de ces données par l’algorithme « Fuzzy c-means ». Concernant la validation « intra-classes », l’indice de « Silhouette » n’a pas réussi à sélectionner le nombre de clusters pour les données testées, alors que l’indice de validation « interclasses » (Connectivité) indique un choix de (k=2) pour l’ensemble des algorithmes utilisées. L’objectif des auteurs des données était de découvrir deux types de Leucémie Aigüe Lymphoblastique selon le type cellulaire T ou B : T-ALL ou B-ALL. En projetant ce ci sur les résultats de validation obtenues, on conclut que l’algorithme « Fuzzy c-means » permet de mieux partitionner les données en deux groupes Compactes et bien séparés. 112 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 0,1 0,09 0,9 0,08 0,85 0,07 0,8 0,75 0,7 0,65 0,6 0,55 0,5 300 250 IndicedeConnectivity 1 0,95 IndicedeSilhouette IndicedeDunn Les données de Yeoh V2: La validation interne : 0,06 0,05 0,04 0,03 0,02 0,01 2 3 kmeans 0,69 0,69 4 5 0 6 2 3 4 5 150 100 50 0 6 0,69 0,66 0,68 kmeans 0,03 0,03 0,04 0,04 0,03 kmeans 2 3 4 5 6 73,23 95,89 148,67 164,93 187,74 Forgy 0,71 0,71 0,7 0,69 0,69 Forgy 0,03 0,04 0,04 0,04 0,04 Forgy 104,42 119,38 151,04 202,41 176,94 Clara 0,75 0,65 0,65 0,65 0,65 Clara 0,03 0,03 0,04 0,04 0,04 Clara 77,74 191,11 174,77 170,08 178,04 Hclust 0,93 0,93 0,92 0,91 0,91 Hclust 0,03 0,03 0,03 0,03 0,03 Hclust 2,93 5,86 8,79 12,05 15,38 Diana 0,78 0,68 0,68 0,68 0,68 Diana 0,02 0,03 0,03 0,02 0,03 Diana 91 133,5 135,32 138,55 171,81 Fcmeans 0,68 0,71 0,61 0,68 0,68 Fcmeans 0,03 0,03 0 0,03 139,39 165,49 179,5 218,4 212,89 0,6 0,64 0,64 0,62 som 0,03 0,04 0,04 0,04 som 0 143,31 139,37 184,63 187,67 som Fcmeans 20 1 18 0,95 16 14 IndicedeCalinski 0,9 IndicedeHubert 200 0,85 0,8 12 10 0,75 8 6 4 2 0,7 0 2 3 4 5 6 kmeans 0,86 0,85 0,81 0,82 0,84 kmeans 2 3 4 5 6 7,2 8,51 8,26 7,1 5,06 Forgy 0,86 0,83 0,82 0,8 0,8 Forgy 8,28 9,24 8,1 7,12 6,05 Clara 0,86 0,84 0,81 0,8 0,79 Clara 7,87 7,12 7,09 6,68 5,97 Hclust 0,94 0,94 0,94 0,94 0,94 Hclust 1,11 1,11 1,1 1,09 1,09 Diana 0,87 0,84 0,84 0,84 0,83 Diana 3,03 5,35 4,01 3,34 3,61 Fcmeans 0,86 0,86 0,93 0,83 0,92 Fcmeans 7,37 4,74 3,43 5,18 2,56 som 0,87 0,85 0,84 0,82 0,81 som 5,45 8,69 7,57 6,93 113 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: Les auteurs de ce jeu de données ont étudié les formes de Leucémies Aigües chez l’enfant en se basant sur les expressions des gènes. Ils ont identifié 6 classes de maladie. Le seul indice d’Hubert et Levin de validation intra-classes révèle le choix du nombre de cluster (k=6) par la majorité des algorithmes de classification (Forgy, Clara, Diana et SOM) qui permettent de maximiser la formule de cet indice, ce qui confirme les résultats des auteurs. Seulement que cet indice de validation permet de mesurer seulement la relation intra classe, pour dire qu’avec k=6, on peut avoir des groupes bien séparés. Cependant, pour avoir de meilleurs valeurs des rapports de distances inter et intra classes des deux indices « Dunn » et « Calinski », les résultats sont partagés entre un nombre de cluster égale à 2 ou 3. En effet, les deux algorithmes « Kmeans » et « Forgy »maximisent l’indice de « Dunn » pour (k=2 et k=3) et maximisent l’indice de « Calinski » seulement pour (k=3), l’algorithme « Clara » obtient de meilleurs résultats pour (k=2) selon les deux indices à la fois « Dunn » et « Calinski ». L’algorithme hiérarchique ascendant (Hclust) obtient de meilleures relation inter et intra classe pour (k=2 et 3) pour les deux indices.l’algorithme « Diana » maximise l’indice de « Dunn » pour (k=2) et « Calinski » pour (k=3) alors que « Fuzzy c-means » c’est l’inverse : il maximise l’indice de « Dunn » pour (k=3) et « Calinski » pour (k=2). Un partitionnement de ce jeu de données par l’algorithme « Kmeans » avec (K=4) révèle être un bon choix selon les résultats obtenues puisqu’il donne ces meilleurs valeur pour les 3 indices à la fois : « Silhouette» et « Hubert » pour l’étude des relations intra classes ainsi que l’indice de « Dunn » qui étudie à la fois la relation inter et intra classes. 114 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 100 0,18 90 0,16 80 0,14 70 0,12 0,1 0,08 0,06 0,04 0,02 2 3 4 5 6 kmeans 0,57 0,51 0,49 0,49 0,5 0 60 50 40 30 20 10 0 2 3 4 5 6 2 3 4 5 6 kmeans 0,09 0,07 0,08 0,08 0,08 kmeans 23,14 55,94 47,72 62,29 77,48 Forgy 0,58 0,52 0,5 0,49 0,5 Forgy 0,09 0,06 0,09 0,07 0,07 Forgy Clara 31,58 57 47,95 68,69 80,79 0,58 0,58 0,49 0,55 0,51 Clara 0,09 0,09 0,06 0,08 0,08 Clara Hclust 28,33 32,21 58,91 60,98 76,93 0,79 0,74 0,74 0,73 0,72 Hclust 0,1 0,07 0,04 0,05 0,05 Hclust 3,17 6,24 9,34 13,2 16,68 Diana 0,58 0,58 0,6 0,6 0,61 Diana 0,09 0,09 0,08 0,09 0,1 Diana 21,36 35,48 40,4 48,87 51,35 Fcmeans 0,57 0,57 0,57 0,57 0,57 Fcmeans 0,09 Fcmeans 22,52 22,72 22,72 25,17 25,17 0,58 0,5 0,49 0,54 som 0 48,58 54,12 78,91 65,8 som 0,07 1 20 0,95 18 0,9 16 0,85 14 0,8 12 IndicedeCalinski IndicedeHubert 0,2 IndicedeConnectivity 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 IndicedeSilhouette IndicedeDunn Les données de Shipp: La validation interne : 0,75 0,7 0,65 0,6 0,09 0,09 10 0,55 0,5 0,08 8 6 4 2 2 3 4 5 6 kmeans 0,78 0,77 0,76 0,76 0,75 Forgy 0,79 0,77 0,76 0,76 Clara 0,79 0,77 0,76 0,75 Hclust 0,84 0,83 0,83 Diana 0,78 0,77 Fcmeans 0,78 som 0,82 0 2 3 4 5 6 kmeans 8,82 6,05 5,14 4,96 4,95 0,75 Forgy 8,57 5,92 6,2 5,06 4,79 0,73 Clara 8,36 6,77 5,75 5,44 5,27 0,83 0,83 Hclust 1,37 1,3 1,24 1,55 1,47 0,78 0,77 0,8 Diana 8,59 6,03 5,02 5,12 4,44 0,79 0,79 0,79 0,79 Fcmeans 8,81 4,35 2,86 2,45 1,93 0,78 0,76 0,73 0,74 som 5,82 6,28 5,88 5,67 115 som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: L’objectif derrière l’expérience de « Shipp » était de discriminer à partir des données des expressions des gènes, deux types de tumeurs malignes du sang au sein d’une seule lignée cellulaireB. Pour une meilleure qualité du clustering en terme de distance inter-intra classes, le nombre de cluster (k=2) est choisi par la majorité des algorithmes de classification non supervisées utilisés dans cette étude, ce ci selon les deux indices de « Dunn » et « calinski ». En ce qui concerne les mesures de qualité intra classes, les indices de « Silhouette » et « Hubert & Levin » distinguent plusieurs choix possibles selon l’algorithme utilisé: les algorithmes « Kmeans », « Forgy », « Clara » peuvent partitionner les données correctement en (k=2) selon l’indice de « Silhouette » et (k=6) selon l’indice d’Hubert, l’algorithme hiérarchique ascendant « Hclust » obtient de meilleures partitions des données en (k=2) selon l’indice de « Silhouette », l’algorithme hiérarchique descendant peut maximise l’indice d’Hubert pour (k=3 ou 5), l’algorithme flou « Fuzzy c means » obtient une seule valeur pour l’indice de « Silhouette » pour k=2. Pour conclure, les résultats indiquent que les algorithmes de clustering par partitionnement « Kmeans », « Forgy », « Clara », et « Fuzzy c-means » obtiennent de meilleures valeurs par la majorité des indices de validation (« Dunn », « Silhouette » ainsi que « Connectivité ») ce qui rejoigne les résultats des auteurs des données. 116 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 2 4 5 100 90 0,4 80 0,35 0,3 0,25 0,2 0,15 6 3 4 2 3 4 5 6 11,18 36,53 41,66 40 68,49 0,07 Forgy 11,18 25,75 43,56 52,37 60,07 0,08 Clara 8,83 30,6 42,65 61,46 55,23 0,1 0,08 Hclust 2,93 6,06 8,93 11,83 14,86 0,16 0,11 Diana 5,5 14,3 14,55 29,32 48,36 11,18 11,18 11,18 11,18 11,18 0 17,94 35,78 56,59 65,27 0,48 0,48 Forgy 0,18 0,12 0,11 0,08 0,46 0,48 Clara 0,18 0,11 0,09 0,07 0,77 0,74 0,73 Hclust 0,12 0,09 0,09 0,71 0,71 0,56 0,54 Diana 0,18 0,17 0,18 0,67 0,67 0,67 0,67 Fcmeans 0,18 0,62 0,57 0,48 0,48 som 0,67 0,57 0,56 0,7 0,46 0,47 Hclust 0,83 0,77 Diana 0,71 Fcmeans 0,67 20 0,9 18 0,8 16 0,7 14 IndicedeCalinski 1 0,6 0,5 0,4 0,3 6 2 3 4 5 6 0,64 0,63 0,75 0,63 0,09 8 4 2 0,1 10 0,1 0,67 0,1 12 0,2 kmeans Fcmeans 0,18 0,11 0 2 3 4 5 6 kmeans 17,55 10,38 8,26 7,19 6,11 Forgy 0,67 0,64 0,63 0,63 0,6 Forgy 17,55 11,78 7,78 7,84 7,07 Clara 0,67 0,65 0,65 0,63 0,62 Clara 17,04 11,45 8,66 7,61 7,04 Hclust 0,84 0,83 0,83 0,83 0,83 Hclust 1,46 1,36 1,38 1,4 1,34 Diana 0,67 0,66 0,76 0,76 0,74 Diana 17,16 10,25 7,4 6,67 6,6 Fcmeans 0,67 0,77 0,67 0,77 0,77 Fcmeans 17,55 8,65 17,55 4,2 5,68 som 0,77 0,65 0,61 0,6 0,57 som 9,89 9,81 8,32 7,33 117 0 6 0,08 Clara 30 kmeans 5 0,11 Forgy 0 2 0,12 0,48 40 10 0 0,14 0,55 50 0,05 0,18 0,54 60 20 0,48 0,67 70 0,1 kmeans kmeans som IndicedeH ubert 3 0,5 0,45 IndicedeConnectivity 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 IndicedeSilhouette IndicedeD unn Les données d’Armstrong V1: La validation interne : som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: L’objectif derrière l’expérience était de discriminer à partir des données des expressions des gènes, deux types de Leucémies lymphoblastiques avec translocations. Les résultats des indices de validation interne confirment le partitionnement. En effet, selon l’indice de « Dunn » les meilleurs relations inter-intra classes sont obtenues pour un nombre de cluster (k=2) par la majorité des algorithmes : « Kmeans », « Forgy », « Fuzzy c-means » maximise l’indice pour une valeur identique (0.67), la meilleure valeur de l’algorithme « Diana » (0.71) , « Hclust » pour (0.83) et « Clara » (0.7). selon l’indice de « Silhouette » dont le but est de maximiser la distance intra classe : le choix de (k=2) est évident par tous les algorithmes testés : « Kmeans », « Forgy », « Clara », « Diana » et « Fuzzy c-means » maximisent l’indice avec une même valeur (0.18) et l’algorithme hiérarchique pour une valeur de (0.12) légèrement inférieure mais toujours pour (k=2). L’indice de « Calinski » indiquant la relation inter-intra classes comme l’indice de « Dunn » estégalement maximisé pour un nombre de clusters (k=2) par tous les algorithmes de clustering utilisés. 118 Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. 100 90 0,4 80 0,35 0,3 0,25 0,2 0,15 70 60 50 40 30 0,1 20 0,05 10 0 0 2 3 4 5 6 9,93 20,45 52,42 58,68 54,41 Forgy 7,56 15,46 40,17 42,57 55,2 Clara 12,16 19,11 48,84 60,86 64,75 2 3 4 5 6 kmeans 0,19 0,15 0,08 0,06 0,08 kmeans 0,52 Forgy 0,19 0,13 0,11 0,1 0,06 0,53 Clara 0,19 0,12 0,07 0,05 0,06 2 3 4 5 6 kmeans 0,68 0,61 0,51 0,41 0,62 Forgy 0,68 0,61 0,51 0,58 Clara 0,67 0,56 0,53 0,53 Hclust 0,76 0,72 0,71 0,69 0,73 Hclust 0,08 0,08 0,08 0,05 0,16 Hclust 3,54 6,98 9,82 12,75 14,58 Diana 0,68 0,68 0,62 0,56 0,6 Diana 0,19 0,17 0,12 0,11 0,09 Diana 5,12 13,38 27,66 37,12 50,29 Fcmeans 0,68 0,68 0,68 0,68 0,68 Fcmeans 0,19 Fcmeans 9,93 9,93 9,93 9,93 9,93 0,68 0,61 0,55 0,5 0 16,44 25,94 54,49 59,39 som som 0,11 1 20 0,9 18 0,8 16 0,7 14 IndicedeCalinski IndicedeH ubert 0,5 0,45 IndicedeConnectivity 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 IndicedeSilhouette IndicedeD unn Les données d’Armstrong V2: La validation interne : 0,6 0,5 0,4 0,3 8 6 4 2 2 3 4 5 6 0,62 0,6 0,6 0,6 0,58 0,09 10 0,1 kmeans 0,09 12 0,2 0 0,12 0 2 3 4 5 6 kmeans 19,13 11,47 8,22 7,6 7,04 6,76 Forgy 0,62 0,59 0,58 0,58 0,56 Forgy 19,05 13,08 9,03 8,43 Clara 0,62 0,59 0,58 0,58 0,54 Clara 18,84 12,96 9,46 7,66 7,1 Hclust 0,81 0,81 0,81 0,81 0,76 Hclust 1,25 1,29 1,31 1,25 5,22 Diana 0,62 0,61 0,56 0,55 0,6 Diana 19,03 11,2 9,9 8,19 7,62 Fcmeans 0,62 0,76 0,76 0,76 0,76 Fcmeans 19,13 9,43 6,19 9,43 6,19 som 0,71 0,6 0,54 0,6 0,58 som 10,94 10,28 8,54 7,25 119 som Contribution2 : Evaluation des algorithmes de clustering sur la plateforme : cas des données numériques d’expression des gènes. Discussion: Selon l’indice de « Dunn » les meilleurs relations inter-intra classes sont obtenues pour un nombre de cluster (k=2) par la majorité des algorithmes : « Kmeans », « Forgy », « Fuzzy c-means » et « Diana » avec une valeur de (0.68) ainsi que par l’algorithme « Clara » et « Hclust ». l’algorithme hiérarchique « Diana » et l’algorithmes « SOM » maximise l’indice pour (k=3). L’indice de « Calinski » confire le résultat de « Dunn » puisque il est maximisé majoritairement pour (k=2) sauf l’algorithme (SOM) qu’il obtient de meilleures relations inter-intra classes pour (k=3). L’algorithme hiérarchique « Hclust » obtient de bons résultats en partitionnant les données en (k=6) selon l’indice de « Calinski ». L’indice de relation intra classe « Hubert et Levine » indique une meilleure partition peut être obtenue pour (k=6) par « Kmeans », « Forgy », « Clara » et « Hclust ». L’objectif derrière l’expérience était de discriminer à partir des données des expressions des gènes, trois types de Leucémies lymphoblastiques avec translocations : ALL/MLL/AML, pour cela les seules algorithmes « Diana » ou « SOM » peuvent obtenir 3 bons clusters selon les résultats commentés. 120 121 1. Problématique: La dernière décennie a été marquée par la publication d’un grand nombre d’articles dans la thématique de traitement d’images. En effet, la mise à portée des systèmes d’acquisitions numériques de haute précision ainsi que la montée en puissance et en capacité de stockage des ordinateurs ont contribué au développement des systèmes d’aide à la décision dans le domaine de traitement d’images. Le principal objectif de ces derniers consiste à obtenir une interprétation de l’image au niveau sémantique répondant aux différentes attentes des utilisateurs humains. Les domaines d’application sont très variées : la télédétection qui est utilisée dans les domaines de la météo, la cartographie, l’analyse des ressources terrestres, les applications militaires, l’imagerie médicale etc. La segmentation est une étape nécessaire dans le processus de traitement et d’analyse d’images. Elle correspond au partitionnement de l’image en un ensemble de classes ou de régions en se basant sur des critères spectraux ou spatiaux (comme l’information couleur, les relations de voisinage entre les pixels dans l’image...). Après la présentation détaillée des différents algorithmes de clustering dans les chapitres précédents, Notre étude est focalisée sur leur application sur les images microscopiques notamment les images de cytologie de sang. Le but de cette application consiste à extraire les différents composants de ces images tels que : les cytoplasmes et les noyaux.Ce sujet étant par nature fortement interdisciplinaire (à l'interface du traitement d'images, de la reconnaissance de formes, de la classification et de l'imagerie médicale). 2.Introduction à la segmentation d'images La segmentation est une étape importante pour l’extraction des informations qualitatives de l’image. Elle consiste à découper l’image considérée en régions ayant une homogénéité selon un critère prédéfini (niveau de gris, moments, coefficients d’ondelettes …). L’union des régions obtenues doit redonner l’image initiale. La segmentation d’image n’est pas considérée comme un but en soi, mais dépend du type de traitement fixé a priori. Formellement, la segmentation d’une image numérique I consiste à chercher une partition de I en un sous ensemble R = {R , R , … , R } telle que : ∀i, R ≠ ∅, ∀i ≠ j, R ∩ R = ∅, I =∪ R 122 Le problème de la segmentation d’images consiste à trouver : 1-Un ensemble de critères d’homogénéités des régions que l’on cherche. 2-Un algorithme permettant l’obtention de régions optimisant au mieux ces critères. Une multitude de méthodes de segmentation sont proposées dans la littérature, mais elles sont généralement regroupées en trois principales approches qui sont l’approche contour, l’approche région et l’approche classification. La méthode de segmentation par contours(edge-based segmentation) consiste à identifier les discontinuités qui séparent les différentes régions de l’image, cette approche cherche les dissimilarités. La méthode de segmentation en régions(region-based segmentation) a pour objectif de décomposer l’image en un ensemble de régions connexes les plus homogènes possible; et les plus différentes pour celles qui se côtoient. L’approche classification, quant à elle, cherche à regrouper les pixels qui présentent une similarité et une uniformité selon un critère prédéfini, on parle de partitionnement ou de clustering. C’est cette approche qui nous intéresse dans ce travail. 3.La segmentation par clustering : Les méthodes de segmentation d’images par classification sont issues des méthodes statistiques multidimensionnelles. Elles cherchent à définir une partition de l’image en un ensemble de classes telle que chaque classe rassemble des pixels ayant des propriétés statistiques aussi similaires que possible et que les classes soient aussi distinctes que possible les unes des autres. Ainsi, elles identifient les classes de pixels présentes dans l’image et affectent à chaque pixel une étiquette indiquant la classe à laquelle il appartient. Il n’existe pas une méthode de classification qui peut s’appliquer à tout type d’image et qui peut fournir un partitionnement optimal le plus naturellement possible. Ce qui explique la grande diversité de méthodes de classification qui existe dans la littérature. En général, on peut les répartir en : méthodes supervisées qui se basent sur un modèle exacte, fourni par un expert, et les méthodes non supervisées ou aucune connaissance à priori n’est disponible. Dans le deuxième cas le nombre de classes est déduit directement des données. 123 L’intérêt des méthodes non supervisées est qu’elles ne nécessitent aucune base d’apprentissage et par la même aucune tâche préalable d’étiquetage manuel n’est requise. La seule intervention de l’expert se situe à la fin du processus pour identifier les tissus en comparant les classes calculées avec les classes biologiques. Formellement, une segmentation en classes composées chacune de comme suit : =∪ ≠∅∀ , ∩ , =∪ ,∀ , régions est définie ∀ ≠ 4.Etat de l’art desméthodes de segmentation des cellules de sang : Dans un système automatique de cytologie, la segmentation des différentes structures morphologiques dans les images des cellules semble être l’étape la plus critique. En effet, les erreurs dans le procédé de segmentation peuvent se propager pour fausser l’extraction de caractéristiques, la classification et ceci a finalement comme conséquence une interprétation biomédicale incorrecte[WIE 70]. Au fil des années, de nombreuses méthodes de segmentation d’image de frottis sanguin ont été proposées en utilisant différentes approches. Les algorithmes utilisés diffèrent considérablement dans le fondement méthodologique, la performance et la précision des résultats, la complexité et le temps de calcul, etc. dans la littérature, ces méthodes peuvent être classées comme basées sur les contours [WU 06],d’autres techniques sont baséessur la croissance de régions [HAU 84], les plus classiques sont basées sur une technique simple de seuillage [BOR 79], ou des techniques un peu plus avancées comme : le seuillage hiérarchique [WER 84], seuillage et correction géométrique [BRE 81], , ou sur l’application de la méthode de « Ligne de Partage des Eaux » ou LPE (watershed)[DIR 00]. Toutes les méthodes basées sur le seuillage pour la segmentation des globules blancs qui ont été rapportées dans la littérature sont capables de segmenter le noyau du leucocyte de l’arrière plan de l’image avec une précision acceptable. Liao Q et al [LIA 02]ont introduit une segmentation basée sur un seuil de niveau de gris pour les images de globules blancs. Une autre méthode dite de divergence floue est employée par Ghosh et al [GHO 10a] pour l’estimation du seuil dans les images de leucocyte. Les images couleur sont une source très riche d’informations et les régions peuvent être mieux segmentées en termes de couleur qu’aux niveaux de gris. 124 Un meilleur algorithme de fusion de régions a été proposé par Mehnert A et al [MEH 97]. Cependant, le choix d’un ensemble de pixels appelés « germes » comme point de départ de la méthode est l’inconvénient de toutes les méthodes basées sur la région. Les auteurs Wu J et al [WU 06] ont déclaré dans leur articleque les limites des cellules ne sont pas suffisamment pointues pour effectuer la segmentation basée sur les contours dans les images de leucocytes. Les méthodes de détection de contour appliquées aux images de cellules sanguines en utilisant un modèle de contour actif a d’abord été présenté par [KAS 87]. Une autre variante du modèle dite « Snakes » a été utilisé avec succès pour la segmentation du noyau du globule blanc par [ONG 01]. L’application des opérateurs morphologiques a également été étudiée pour la séparation des globules blancs du fond des images par [RUB 02]. Ces dernières années, la technique de clustering a été intégrée intelligemment pour la segmentation des images de cellules sanguines. L’avantage des méthodes de classification non supervisées appliquées aux images est le fait qu’elles sont automatiques et spécifiquement conçues pour la classification [ADO 08]. Nous situonsdans ce contexte notre travail [KHA 11] [KHA 12] [KHA 11p] concernant l’état de l’art des algorithmes de clustering appliqués aux images microscopiques du sang. Un processus de segmentation en deux étapes en deux étapes pour les images couleur en utilisant l’algorithme k-means suivie par l’algorithme EM a été proposé parSinha N et al [SIN 03]. Les auteurs de l’article [COM 01] ont appliqué l’algorithme Mean Shift pour la segmentation d’images couleur de leucocytes. Les inconvénients liés aux algorithmes de clustering standards sont : la prédétermination des nombres de clusters [JIA 03], ainsi qu’au chevauchement des régions morphologiques qui sont le cytoplasme et le noyau. Selon Kumar B et al [KUM 02]la sélection de l’espace de couleur est également un enjeu majeur pour les méthodes de classification non supervisées basées sur la couleur. D’autre part, les études révèlent que les performances des méthodes de segmentation sont limitées par des facteurs tels que la préparation du frottis, coloration, et l’acquisition des images. 125 5.Notre approche de segmentation : Au vu d’une image couleur, quelles sont les informations nous permettant d’interpréter les informations sémantiques contenues dans cette image ? En effet, ceci peut se résumer à deux informations : -La couleur des objets présents sur l’image. -Et les transitions de couleur entre les objets de l’image. La couleur des objets dépend de l’espace couleur choisi et les transitions de couleur entre les objets déterminent le nombre de classes contenues dans l’image. Ceci peut être déduit en utilisant l’histogramme de l’image. Afin de bien réaliser ces choix qui sont déterminants pour l’algorithme de clustering utilisé, chacun amenant à l’établissement d’un paramètre ou des données d’entrée de cet algorithme. Nous proposons de définir une stratégie qui se base sur des mesures quantitatives. 5.1Le choix de l’espace couleur : Comment définir l’espace couleur à utiliser ? Comment déterminer l’espace couleur le mieux adapté au problème posé ? Ce choix doit il se faire indépendamment du problème ou doit il tenir compte des objets à extraire dans l’image ? Notre approche consiste à trouver le meilleur espace de représentation de l’image et ensuite à choisir la méthode à utiliser pour segmenter l’image. Les images dont nous étudions sont représentées dans un système RVB (RGB en Anglais) : un pixel couleur est un vecteur à trois composantes qui traduisent l’intensité lumineuse pour les trois couleurs de base (RVB-Rouge, Verte, Bleue). Ces trois grandeurs de couleurs primaires définissent un espace tridimensionnel, appelé modèle RVB, qui constitue la représentation numérique de base de la couleur. Pour déterminer le choix de l’espace couleur, il nous faudra donc étudier chacune des trois composantes : Rouge, Verte et Bleue. Pour cela, nous avons analysé la représentation des niveaux de gris dans l’image. On cherche à étudier en particulier à partir de quel seuil haut le fond est séparé des cytoplasmes des cellules, et à partir de quel seuil bas les cytoplasmes sont séparés des noyaux. Les résultats obtenus sont donnés dans le tableau suivant : 126 ID Image Image1 Image2 Image3 Image4 Image5 Image6 Composante Rouge Composante Verte Composante Bleue Seuil bas : 29 Seuil bas : 0 Seuil bas : 86 Seuil haut : 185 Seuil haut : 180 Seuil haut : 173 Seuil bas : 47 Seuil bas : 28 Seuil bas : 115 Seuil haut : 191 Seuil haut : 187 Seuil haut : 174 Seuil bas : 60 Seuil bas : 26 Seuil bas : 88 Seuil haut : 192 Seuil haut : 179 Seuil haut : 166 Seuil bas : 88 Seuil bas : 37 Seuil bas : 111 Seuil haut : 203 Seuil haut : 194 Seuil haut : 185 Seuil bas : 33 Seuil bas : 18 Seuil bas : 69 Seuil haut : 150 Seuil haut : 144 Seuil haut : 130 Seuil bas : 34 Seuil bas : 16 Seuil bas : 58 Seuil haut : 139 Seuil haut : 136 Seuil haut : 130 On remarque que seule la composante verte donne des seuils vraiment homogènes et l’écart entre le seuil bas et le seuil haut est important. Nous avons donc décidé d’appliquer les algorithmes de clustering seulement sur la composante verte des images ce qui permettra d’arriver à des résultats concluants. 5.2Le choix du nombre de classes : Nous avons utilisé la technique de seuillage par l’histogramme pour déterminer le nombre de clusters dans les images étudiées. Cette méthode est simple, on suppose que chaque cluster ou classe correspond à une gamme distincte de niveaux de gris. L’histogramme est alors m-modal. La position du seuil Si de l’histogramme H permet de fixer les (m-1) seuils nécessaires pour séparer les m classes. Un histogramme est un graphique statistique permettant de représenter la distribution des intensités des pixels d’une image, c'est-à-dire le nombre de pixels pour chaque intensité lumineuse. Par convention, un histogramme représente le niveau d’intensité en abscisse en allant du plus foncé (à gauche) au plus claire (à droite). Ainsi, l’histogramme d’une image en 255 niveaux de gris sera représenté par un graphique possédant 255 valeurs en abscisses, et le nombre de pixels de l’image en ordonnées. 127 Le tableau suivant présente pour chacune des images, le nombre de classes(k), le nombre de niveau de gris présent dans l’image ainsi que l’histogramme associé : ID Image Nbr de seuils Niveaux de gris Image1 5 180 Image2 5 159 Image3 5 153 5 157 5 126 L’histogramme Image4 Image5 Le nombre de classes est un paramètre déterminant pour les algorithmes de segmentation car il permet d’extraire le type d’objets désiré. L’objectif de notre application est de reconnaitre les 4 types d’objets présents dans l’image (le noyau des globules blancs, les globules rouges, les cytoplasmes des cellules et le plasma), ce paramètre devra être au moins égale à trois. Pour les images réelles choisies, la valeur optimale des seuils est de 5 pour chacune d’entre elles. Donc le nombre de classe est k=4. 128 5.3 Algorithme général de segmentation : L’algorithme général de segmentation est présenté comme suit : Input : Im : RGB image de dimension (M*N) k : Nombre maximum de classes désiré Method : chaine de caractère indiquant le nom de l’algorithme Début 1. Lire image X<-Read.Image(Im) 2. Calculer la dimension de l’image Dim(X)<-M*N*3 3. Calculer les bornes des trois composantes de l’image Rouge/Verte/Bleue Compr1<-1 Compr2<-Dim(X)/3 Compv1<-[Dim(X)/3] +1 Compv2<-[Dim(X)/3]*2 Compb1<-[Dim(X)/3]*2+1 Compb2<-Dim(x) 4. Appliquer l’algorithme de clustering choisi (dans ce cas Kmeans)sur l’image RGB Switch (Method, Kmeans= { clusterObj<-Kmeans() cluster<-matrix(clusterObj$cluster) center<-matrix(clusterObj$center) }, break ; ) 5. Remplacer chaque pixel de la composante verte par le centre du cluster auquel il appartient-Remplacer chaque pixel de la composante rouge et bleue par 0. Initialiser une structure de données de type liste de taille k : Li<-Vector(‘list’,k) For (j in 1 :k) { clusterObj1<-clusterObj For (i in compv1 :compv2) { Ifelse(clusterObj1[i]!=j,clusterObj1[i]<-0,clusterobj1[i]<-center[j]) } For(i in 1 :compr2) { clusterObj1[i]<-0 } For(i in compb1 :compb2) { clusterObj1[i]<-0 } 6. Reconstruire l’image RGB à partir de la matrice de pixel Li[[j]]<-imagematrix(clusterObj1, «RGB», M, N) } 7. Localiser l’image contenant le noyau du Leucocyte (globule blanc) H<-min(center) For(i in 1 :k) { If(center[i]==H) { Display(Li[[i]]) } FIN 129 6. Résultats expérimentaux : 6.1. Méthodes d’évaluation : La segmentation d’une image est une étape essentielle en traitement d’images dans la mesure où elle conditionne son interprétation. Il existe de nombreux critères d’évaluation d’un résultat de segmentation d’images qui ont été proposés dans la littérature[PHI 01][ZHA 96]. L’objectif principal d’un critère d’évaluation est d’être capable de comparer les différents résultats des algorithmes afin de trouver la meilleure segmentation. Dans le cadre de l’étude des images de cellules de sang anormales, dont le but est d’assurer une sécurisation du diagnostic. C’est pourquoi, afin de comparer les résultats obtenus en fin de traitement et ce de façon quantitative, nous avons utilisé la méthode d’évaluation dite avec vérité terrain experte. Une vérité terrain experteest un résultat de segmentation d'une image naturelle tracémanuellement par des experts. Ce type de vérité terrain est souvent utilisé dans des cas spécifiques oùnous voulons évaluer la qualité de segmentation de certains objets d'une image réelle. 6.1.1L’indice de précision : La performance des algorithmes de segmentation sont donc évaluée en comparant le résultat fourni par l’algorithme avec la segmentation de référence. La comparaison entre les deux résultats se base sur des critères de dissimilarité entre ces deux segmentations. Ces critères prennent en compte dans leur formulation une information sur la taille des régions mal classées et sur leur taux de recouvrement ainsi que sur l’information concernant la localisation des pixels qui la constituent[CHA 04]. Etant donné une image algorithme de clustering et On note ( ) et de pixels. Soit la segmentation de l’image en utilisant un la segmentation de référence que l’on souhaite obtenir. ( ) l’étiquette de la classe du pixel respectivement dans l’image segmentée et dans l’image de référence. Pour une classe , les critères de comparaison tiennent compte de quatre catégories de pixels (voir la figure ci-dessous) : 130 Figure.33.Types de pixels classés[OUA 06]. Les Vrai Positifs(VP) : sont des pixels détectés à raison = \ ( )= ∩ ()= = \ ( )≠ ∩ ()= = \ ()≠ ∩ ( )≠ = \ ( )= ∩ ()≠ Les Faux Positifs(FP) : sont des pixels détectés à tord Les Vrai Négatifs(VN) : sont des pixels non détectés à raison Les Faux Négatifs(FN) : sont des pixels non détectés à tord Sur la base de ces quatre catégories, on défini l’indice de précision : é = + Etant donné que la segmentation des noyaux apportant plus d’informations aux experts du domaine, nous privilégions l’indice de précision sur la reconnaissance du noyau des globules blancs par rapport à celui des autres composants des images. 6.1.2 Mesures d’erreurs de classification : Les mesures d’écart entre une segmentation obtenue par un algorithme de segmentation et une segmentation de référence ont été fréquemment utilisées pour évaluer les performances des algorithmes de classification et de segmentation. Deux mesures d’erreur qui donnent des indices sur la qualité d’un résultat de segmentation ont été abordée : l’erreur de sur détection et l’erreur de sous détection. L’erreur de sur détection est définie comme suit[CHA 07] : , − ( )− = 131 ( ( ∩ ) ) L’erreur de sous détection est calculée comme suit : , − ( )− = ( ( ∩ ) ) 6.1.3 Le temps d’exécution des algorithmes : Etant donné que les critères d’évaluation présentés précédemment ne prennent pas en compte le temps d’exécution des algorithmes de classification utilisés pour la segmentation et qui représente une information relativement importante, nous tiendrons donc compte du temps de calcul en supplément des autres méthodes. D’autant plus que notre application porte sur des images biomédicales impose un temps de traitement assez faible afin de pouvoir obtenir un diagnostic rapide. 6.2. Description des images utilisées : La banque d’images sur laquelle nous avons appliqué notre algorithme de segmentation est constituée d’images de la cytologie. Cet ensemble d’images a été mis à notre disposition par le Dr Mohammed Brahimi du service d’hémobiologie de l’EHU d’Oran, pour l’aide à la recherche sur la segmentation. Les images ont été acquises par un microscope optique « Leica » et un appareil photo « Canon Powershot S80 » avec une interprétation photométrique RVB. Nous avons appliqué notre algorithme sur un ensemble de 30 images couleurs de différent type de globules blancs (01 Basophile, 07 Monocytes, 15 Neutrophiles, 05 Lymphocytes et 02 Eosinophiles).Voir la figure ci-dessous. 6.3. Evaluation des résultats : Nous présentons dans cette partie, les résultats de segmentation obtenus avec les différents algorithmes de clustering que nous avons utilisés. Chaque image est segmentée par une méthode de classification non supervisée appelée à partir de notre algorithme général de segmentation (kmeans, Forgy ,Clara, Fuzzy c-means, SOM) avec un nombre de classes égale à 4, et la distance Euclidienne pour le calcul de similarité entre les pixels. Ces classifieurs reposent sur l’information couleur car pour des images de cytologie, c’est la principale information disponible a priori. La moyenne de chaque critère d’évaluation : l’erreur de sous segmentation, l’erreur de sur segmentation, l’indice de précision ainsi que la moyenne du temps de calcule pour chaque algorithme de classification non supervisée est reporté dans le tableau ci-dessous. 132 IM1-Basophile IM2-Monocyte IM3-Monocyte IM4-Monocyte IM5-Monocyte IM6-Monocyte IM7-Monocyte IM8-Monocyte IM9-Neutrophile IM10-Neutrophile IM11-Neutrophile IM12-Neutrophile IM13-Neutrophile IM14-Neutrophile IM15-Neutrophile IM16-Neutrophile IM17-Neutrophile IM18-Neutrophile IM19-Neutrophile IM20-Neutrophile IM21-Neutrophile IM22-Neutrophile IM23-Neutrophile IM24-Eosinophile IM25-Eosinophile IM26-Lymphocyte IM27-Lymphocyte IM28-Lymphocyte IM29-Lymphocyte IM30-Lymphocyte Figure.34.Les images de test. 133 Type de cellule Basophile Monocytes Neutrophiles Eosinophiles Lymphocytes Algorithme Erreur sous Erreur sur segmentation segmentation k-means 8.18% 2.50% 63.49% 8.43s Forgy 8.19% 2.55% 63.02% 0.10s Clara 8.21% 2.90% 60% 0.08s Fuzzy c-means 8.18% 2.50% 63.49% 14.81s SOM 8.18% 2.50% 63.49% 19.28s k-means 11.55% 0.72% 89.70% 0.51s Forgy 11.55% 0.72% 89.67% 0.09s Clara 11.60% 1.32% 85.26% 0.08s Fuzzy c-means 11.55% 0.71% 89.80% 14.22s SOM 11.56% 0.71% 89.81% 20.46s k-means 6.55% 0.78% 81.19% 0.47s Forgy 6.55% 0.78% 81.22% 0.66s Clara 6.57% 0.73% 81.03% 0.08s Fuzzy c-means 6.57% 0.78% 81.89% 14.37s SOM 6.56% 0.77% 81.26% 19.37s k-means 6.02% 5.72% 37% 4.01s Forgy 6.09% 6.94% 31.16% 3.79s Clara 6.08% 6.81% 30.94% 0.08s Fuzzy c-means 6.08% 6.73% 31.65% 24.94s SOM 6.08% 6.80% 31.35% 20.38s k-means 6.35% 0.95% 77.32% 0.53s Forgy 6.35% 0.95% 77.32% 0.10s Clara 6.36% 1.07% 75.41% 0.08s Fuzzy c-means 6.34% 0.86% 78.90% 14.69s SOM 6.37% 0.90% 78.32% 20s 134 Précision Temps de calcul (en seconde) 6.3. 1 Discussion : Notre méthode de comparaison des algorithmes de clustering utilisés pour la segmentation des images microscopiques impliquent différents critères : l’erreur de sous segmentation, l’erreur de sur segmentation, la précision ainsi que le temps de calcul, ce qui apportent une indication plus précise sur la reconnaissance des objets et laisse le choix à l’utilisateur d’établir des règles de sélection de segmentation par rapport au contexte de l’application. Ces critères indiquent qu’à priori tous les algorithmes de classification n’ont pas le même avis sur la classe à attribuer à certains pixels et qu’il est difficile par conséquent de classer certains d’entre eux. D’après les résultats présentés, nous constatons que la reconnaissance des noyaux de chaque type cellulaire nucléé permettant d’établir la formule leucocytaire utile dans de nombreux examens cliniques, marche correctement pour les cinq algorithmes de classification utilisés. En effet : pour le premier type de cellule : « Basophile » (image 1 de la figure) dont on compte normalement de 0 à 1% dans le sang d’un adulte, on remarque que les trois algorithmes : « Kmeans », « FCM » et « SOM » donnent des résultats très similairesavec un taux identique de précision égale à 63.49%. Cependant, « kmeans » prend beaucoup moins de temps d’exécution que les deux autres, alors qu’une légère diminution de précision est obtenue par « Forgy » et « Clara » avec 63.02% et 60% respectivement et une exécution8 fois plus rapide que « Kmeans ». Néanmoins « Clara » commis plus d’erreur de sur et sous segmentation.La meilleure valeur de segmentation obtenue dans toute l’étude est obtenue dans le deuxième type cellulaire « Monocyte » (image 2 à 8 de la figure) qui représente de 3 à 7% dans le sang, avec une performance de 89.81% obtenu par l’algorithme « SOM » suivi de « FCM » 89.80% puis « Kmeans » 89.70% , « Kmeans » reste toujours le plus rapide 14 fois par rapport à « FCM » et 20 fois que « SOM ». « Forgy » et « Clara » restent également les plus rapides que « Kmeans » et ont tous deux un temps d’exécution très proche, alors quel’inconvénient de « Clara » est la sur segmentation. De bons résultats ont également été obtenus pour les cellules « Neutrophile » (image 9 à 23 de la figure) et qui sont présents à 60% dans le sang : cette fois c’est l’algorithme « FCM » qui est le plus précis 81.89% en suite « SOM » puis « Forgy », ce dernier est 14 fois plus rapide que « FCM » et 19 fois que « SOM ». Le plus bas résultat dans cette étude est constaté sur les images « Eosinophile » qui représentent 3% des composants cellulaire dans le sang, avec une précision de 37% seulement obtenue par « Kmeans ». Le dernier type cellulaire s’agit des « Lymphocytes » qui représentent 25% à 33%des autres composants, ont été bien segmentés par les deux algorithmes « Kmeans » et « Forgy » qui ont obtenus des résultats très similaires alors que l’algorithme « FCM » est légèrement plus précis 78.90% mais avec un temps d’exécution largement plus lent. 135 La classification non supervisée constitue l’un des outils les plus populaires de la fouille de données. Son utilisation permet la découverte de groupes, de motifs, d’éléments structurels à l’intérieur d’un jeu de données. L’histoire de cette analyse remonte au temps d’Aristote qui a proposé les règles pour classifier le monde animal, après c’était Buffon qui a proposé la même chose pour le monde végétal et Mendeleïev pour les éléments chimiques. Par la suite la méthode a été utilisée dans divers domaines tels que la biologie, la médecine, l’ingénierie. D’ailleurs, à l’appellation « classification non supervisée » ou en Anglais « clustering » peut être substitué un ensemble d’autres termes selon le contexte d’utilisation : apprentissage non supervisé (en reconnaissance de formes), taxonomie (en science de la vie), typologie (en science humaine). La problématique sous jacente consiste donc en le partitionnement de l’ensemble des objets du jeu de données considéré en des groupes tels que les objets d’un même groupe sont relativement similaires entre eux alors que ces objets sont relativement différents des objets des autres groupes. Ainsi, l’idée est de mettre à jour la structure interne des données en révélant l’organisation des objets par l’intermédiaire de groupes. L’analyse de ces groupes ou clusters permettra alors de dériver un ensemble de connaissances sur le jeu de données. Plusieurs algorithmes sont proposés pour la résolution du problème général de la classification. Ils diffèrent par leur heuristique (hiérarchique, flou, partitionnement, basé sur les réseaux de neurones ou basés sur la densité), les mesures de proximité qu’ils utilisent (euclidienne, corrélations…). 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. Lorsque la recherche sur le clustering des expressions des gènes a commencé, une opinion commune était que la classification non supervisée été un domaine « fermé » de la recherche statistiques dont peu d’innovation a été possible. Maintenant des centaines d’articles sur le clustering de données d’expression des gènes ont été publiés démontrant encore et encore des 136 améliorations significatives par rapport aux méthodes classiques. Pourtant, les méthodes classiques (en particulier les méthodes hiérarchiques) restent dominantes dans les applications biologiques, en dépit de lacunes réelles. La cause la plus probable est que les nouvelles méthodes n’ont pas démontré suffisamment de valeur ajoutée à surmonter le statu qu’ontétabli les méthodes pionnières. Le manque de benchmarking de façon significative altère la démonstration de l’amélioration majeure. Cette situation est elle-même créée par la subjectivité de l’interprétation des résultats de clustering. En effet, le clustering pour les données d’expressions des gènes ne tient pas en soi mais est étroitement lié à l’interprétation biologique de ses résultats et l’utilisation ultérieure de ces résultats. L’objectif de ce projet était double : il fallait à la fois mettre des outils de clustering à la disposition des utilisateurs et de réfléchir à des approches innovantes adaptées aux données d’expression des gènes, plus particulièrement. Nous avons pu implémenter des méthodes de clustering facilement exploitables que ce soit par des biologistes ou des médecins. L’aspect modulaire de l’application a ouvert des perspectives d’évolutivité puisqu’il est à présent simple d’ajouter une nouvelle méthode de classification non supervisée ou supervisée, de visualisation ou de validation. On a également fourni une réflexion sur l’adéquation des méthodes classiques de clustering à l’analyse de profils d’expression de gènes que ce soit en terme de structure de données ou d’heuristiques faites sur les relations existantes entre les données d’un cluster. Ceci donne des bases de conceptions de nouveaux algorithmes ou d’utilisation alternatives d’approches déjà connues. Finalement, le clustering n’est que le point de départ pour des analyses plus poussées tels que l’analyse des régulations des séquences et la recherche de motifs fréquents qui améliorent les prédictions biologiques finales. Les modèles probabilistes relationnels et leurs variantes (tels que les algorithmes de biclustering). 137 [ADO 08] Adollah R, M. M. (2008). Blood Cell Image Segmentation: A Review. Springer Berlin Heidelberg , vol 21, pp 141-144. [ALI 00] Alizadeh AA, E. M. (2000). Distinct types of Diffuse Large B Cell lymphoma identified by gene expressionprofiling. Nature, 403, 503-511. [AND 99] Andreas Weingessel, E. D. (1999). An Examination of indexes for determining the number of clusters in Binary data sets. Internal publication platform of the research project "Adaptive Informations systems and management in Economics and Management science . [ARM 02] Armstrong SA, S. J. (2002). MLL translocation specify a distinct gene expression profile that distinguishes a unique leukemia. . (30), 41-47. [BEL 02] Bellaachia, A. P. (2002). E-CAST: a data mining algorithm for gene expression data . BIOKDD02 Workshop on data mining , p 49. [BER 02] Berkhin P.(2002). Survey of clustering data mining techniques . Technical Report, Accrue Software. [BEN 99] Ben Dor, S. R. (1999). Clustering gene expression patterns . journal of computational biology , vol6 no 3-4 pp281-297. [BEZ 81] Bezdek.J.C (1981). Pattern recognition with fuzzy objective function algorithms. New York:Plenum . [BOR 79] Borst H, A. W. (1979). Thresholding Method for Automatic Cell Image Segmentation. The Journal of Histochemistry and Cytochemistry , 27:180-187. [BRE 81] Brenner J.F, L. J. (1981). Scene Segmentation in Automated Histopathology: Techniques evolved from cytology automation. Pattern Recognition , 13:3-16. [BRO 99] Brown, P. O. (1999). Exploring the new world of the genome with DNA microarrays. Nat Genet , 21, 33-7. [CAL 74] CalinskyR.B., Harabsz J. (1974). A dendrite method for cluster analysis. Communication in statistics , 1-27. [CAN 06] Candillier, L. (2006). Contextualisation, visualisation et évaluation en apprentissage non supervisé, phd thesis. [CHA 04] Chabrier S, Rosemberger C et al. (2004). Evaluating the segmentation result of a graylevel image. European Signal Processing Conference (EUSIPCO) , 953-956. [CHA 07] Chau, D. (2007). Evaluation de la segmentation d'image . Rapport final, Institut de la Froncophonie pour l'informatique. 138 [CHE 00] Cheng, Y. e. (2000). Biclustering of expression data. proc. Int. conf. Intell. syst. Mol. Biol. , 8:93-103. [CLE 04] Cleuziou, G. (December 2004). une méthode de classification non supervisée pour l'apprentissage de règles et la recherche d'information,phd thesis. [COM 01] Comaniciu D, M. P. (2001). Cell Image Segmentation for Diagnostic Pathology. Springer . [DAV 96] Dave N, Rajesh (1996). Fuzzy Shell Clustering and Application to circle Detection in Digital Images . Int.J. of General Systems, 16, 343-355. [DAT 03] Datta S, Datta (2003). Comparisons and validation of statistical clustering techniques for microarray gene expression data . Bioinformatics2003, 19:459-466. [DEM 77] Dempster, A. L. (1977). Maximum likelihood from incomplete data via the EM algorithm . J.R Statist. Soc., , vol B39 NO.1, pp 1-38. [DIR 00] Di Ruberto C, D. A. (2000). Segmentation of Blood Image using Morphological Operators. Proc, 15th International Conference On Pattern Recognition , 401-404. [DJO 08] DJOUADI, L. ,. (2008). LES CHROMOSOMES : structure et principales anomalies en hématologie. Revue Algérienne d'hématologie http://www.hematologie-dz.com , page Enseignement-7. [DOP 97] Dopazo, J. a. (1997). Phylogenetic reconstruction using an unsupervised neural network that adopts the topology of a phylogenetic tree. J. Mol. Eval , Vol 44 pp 226-233. [DRA 03] Draghici S. (2003). Data Analysis Tools for DNA Microarrays. First Edition; Champman & HallBoca Raton . [EIS 98] Eisen, M. P. (1998). Cluster analysis and display of genome-wide expression patterns . proc. of National Academy of Siences USA , 14863-14868. [FOR 65] Forgy, E. (1965). Cluster analysis of multivariate data: efficiency vs interpretability of classifications. . Biometrics, 21, 768-769. [GAS 02] Gasch, A. e. (2002). Exploring the conditional coregulation of yeast gene expression through fuzzy k-means clustering. Genome Biol., 3:RESEARCH0059- . [GHO 10a] Ghosh M, D. D. (2010a). Automated Leukocyte Recognition using Fuzzy divergence. Micron , 41(7),840-846. [GOL 99] Golub TR, S. D. (1999). Molecular Classification of cancer: class discovery and class prediction by gene expression monitoring. Science, 286(5439), 5531-537. [GUE 05] Guérin, E. (2005). Intégration De Données pour l'analyse de transcriptome: mise en oeuvre par l'entrepot GEDAW. phd thesis . 139 [HAR 79] Hartigan.J.A and Wong, M. (1979). A kmean clustering algorithms. applied Statistics, 28, 100-108. [HAR 99] Hartuv, E. S.-E. (1999). An algorithm for clustering cdnas for gene expression analysis using short oligonucleotide fingerprints. in proceding of 3rd international symposium on comp.Mol.Biology , pp 188-197 ACM PRESS. [HAU 84] Haussmann G, L. C. (1984). A Region Extraction Approach to Blood Smear Segmentation. Computer Vision, Graphics and Image Processing. , 25:133-150. [HER 01] Herrero, J. V. (2001). A hierarchical unsupervised growing neural network for clustering gene expression patterns. Bioinformatics , Vol 17, pp 126-136. [HEY 99] Heyer, L. J. (1999). Exploring expression data: Introduction and analysis of coexpressed genes. Genome Research , 1106-1115. [HUB 76] Hubert L. J. (1976). A general statistical framework for assesing categorical clustering in free recall. Psychological Bulletin , 1072-1080. [JAN 88] Jain,A.K and Dubes, R.C.(1988). Algorithms for clustering data. Prentice Hall, Englewood Cliffs,NJ. [JIA 03] Jiang K, Q. M. (2003). Red Blood Cell Segmentation Scheme utilizing various Image Segmentation Techniques. 2nd International Conference on Machine Learning and Cybernetics . [KAS 87] Kass M, W. A. (1987). Snakes: Active Contour Models. 1st International Conference On Computer Vision , pp. 259-268. [KHA 11] Khatir N, Nait Bahloul S. (2011). Blood Cell Images Recognition using Clustering Algorithms: A Survey. Colloque D'Informatique Automatique et Electronique,24 et 25 Mars, Casablanca-Maroc. [KHA 11p] Khatir N, Nait Bahloul S. (2011). Blood Cell Images Recognition using Clustering Algorithms: A Survey (poster). Colloque sur l'optimisation et les systèmes d'information, COSI'2011,24-28 Avril 2011,Guelma, Algérie. [KHA 12] Khatir N, Nait Bahloul S. (2012). HematopoieticCells Images Recognition using Clustering Algorithms: ASurvey.SETIT 2012, 221-24 Mars, Sousse-Tunisie [KUM 02] Kumar B.R, J. D. (2002). Energy based Blood Cell Segmentation . 14th International Conference on Digital Signal Processing, India . [LEE 92] Lee, F. L. (1992). Fuzzy Competitive Learning. Neural Networks, 7(3), 539-551. [LIA 02] Liao Q, D. Y. (2002). An Accurate Segmentation Method for White Blood Cell Images. International Symposium on Biomedical Imaging , pp 245-258. [LLO 82] Lloyd, S. (1957-1982). Least squares quantization in PCM. IEEE Transactions on Information theory, 28, 128-137. [LOC 00] Lockhart, w. a. (2000). Genomics, gene expression and DNA arrays. Nature , 405,82736. 140 [MAC67] MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. (u. o. press, Éd.) proceeding of the Fifth Berkely Symposium on mathematical Statistics and probability , 281-297. [MAR 08] Marcilio Carlos Pereira de Souto, I. G. (2008). Clustering cancer gene expression data: a comparative study. BMC Bioinformatic . [MAR 96] Martin Ester, H.-P. K. (1996). A Density Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. Proceedings of 2 nd International Conference of knowledge Siscovery and Data Mining . [MEH 97] Mehnert A, J. P. (1997). An Improved Seeded Region Growing Algorithm. Pattern Recognition Letters , 18(10), 1065-1071. [MOL 02] Moloshok, T. K. (2002). Application of Bayesian decomposition for analysing microarray data. . Bioinformattics , 18:566-575. [MUR 85] Murtagh, F. (1985). Multidimensional clustering algorithms. (C. L. physica-verlag, Éd.) [ONG 01] Ongun G, H. U. (2001). Automated Contour Detection in Blood Cell Images by an Efficient Snake Algorithm. Springer , Vol. 47. [OUA 06] OUADFEL S. (2006). Contributions à la Segmentation d’images basées sur la résolution collective par colonies de fourmis artificielles. Université Hadj Lakhdar de Batna: Thèse de Doctorat en Informatique. [PHI 01] Philipp-Foliguet S. (Mars 2001). Evaluation de la segmentation. Technical Report,ETIS [REY 04] Reymond, N. (2004). Bioinformatique des puces à ADN et application à l'analyse du transcriptome de Buchnera aphidicola. phd thesis . [ROU 90] Rousseeuw, K. (1990). Finding groups in data: an introduction to cluster analysis wiley, New York. [ROU 87] Rousseeuw., P. (1987.). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics. , 53-65. [RUB 02] Ruberto C.D, D. A. (2002). Analysis of Blood Cell Images using Morphological Operators. Image and Vision Computing , vol 20(2), 133-146. [SHA 00] Sharan R, Shamir R (2000). CLICK: a clustering algorithm with applications to gene expression analysis . 8th International conference on Intelligent System for Mol.Bio , AAAI PRESS. [SHE 05] Sheng Q., Moreau Y et al (2005). Advances in cluster analysis of microarray data. (A. F. J, Éd.) Data analysis and visualization in genomics and proteomics, chapiter 10, 153-173. [SHI 02] Shipp MA, Ross KN et al (2002). Diffuse Large B- Cell Lymphoma outcome prediction by gene expression profiling and supervised machine learning. (N. Med, Éd.) 8, 68-74. 141 [SIN 03] Sinha N, R. A. (2003). Automation of Differential Blood Count. Conference on Convergent Technologies for Asia Pacific Region , pp. 547-551. [SOU 75] Southern, E. (1975). Detection of specific sequences among DNA fragments separated by gelelectrophoresis. journal of molecular biol 98 , 503-17. [SOU 08] SoutoM.CP., I. (2008). Clustering Cancer Gene Expression Data: A Comparative Study. BMC Bioinformatic 9 , 497-520. [TAM 99] Tamayo, P. S. (1999). Interpreting patterns of gene expression with self organizing maps: methods and application to hematopoietic differentiation . in proceeding of National Academy of Sciences USA , vol 96, NO.6,pp 2907-2912. [TAV 99] Tavazoie S, H. J. (1999). Systematic determination of genetic network architecture. Nat Genet , 22: 281-85. [THE 06] Theresa Scharl and Friedrich, L. (2006). The stochastic QT-clust algorithm: evaluation of stability and variance on time course microarray data. (I. A. Vichi, Ed.) 1015-1022. [TOM 02] Tomida, S. H. (2002). Analysis of expression profile using fuzzy adaptive resonance theory. Bioinformatics , Vol.18, NO. 8, pp.1073-1083. [TRA 09] Travis, J. a. (2009). Clustering of gene expression data based on shape similarity,. EURASIP JOURNAL on Bioinformatics and Systems Biology , vol 2009, no 195712, doi: 10.1155/2009/195712. [WER 84] Wermser D, H. G. (1984). Segmentation of Blood Smears by Hierarchical Thresholding. Computer Vision, Graphics and Image Processing , 25:151-168. [WIE 70] Wied, G. e. (1970). Automated Cell Identification and Cell Sorting. Academic Press New York and London . [WU 06] Wu J, Z. P. (2006). A Novel Color Image Segmentation Method and its Application to White Blood Cell Image Analysis. Signal Processing, 2006 8th International Conference , Vol 2. [YEO 02] Yeoh EJ, R. M. (2002). Classification, subtype discovery, and prediction of outcome in pediatric acute lymphoblastic leukemia by gene expression profiling. cancer cell, 1(2), 133-143. [ZHA 96] Zhang YJ. (1996). A survey on evaluation methods for image segmentation. Pattern Recognition , 29(8):1335-1346. 142