Nadjia Khatir - Université d`Oran 1 Ahmed Ben Bella

publicité
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
xC 1

yC 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
n1
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
pi 1 est directement densité-accessible par pi (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 qC
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
Téléchargement