CHAPITRE :
LE DATAMINING
1.1 Introduction
Avec l’évolution actuelle de la technologie, nous devenons de plus en plus submergés par de
grandes quantités de données quel que soit le domaine impliqué : scientifique, médical,
financier…. Ces données contiennent une grande quantité d’informations cachées et
potentiellement importantes.
En effet, le mot data mining ou fouille de données est une branche de l’intelligence artificielle
qui regroupe l’ensemble des techniques permettant l’extraction d’informations [1][2]. Ces
techniques reposent essentiellement sur l’utilisation de plusieurs algorithmes qui effectuent un
apprentissage automatique ou semi-automatique sur la base d’un ensemble de données.
L’utilisation opérationnelle de ces informations permet de faciliter la résolution de problèmes
divers. En effet, les domaines d’application de la fouille de données sont nombreux, surtout
dans les pays développés. Mais ses nombreuses possibilités restent encore sous-exploitées à
Madagascar, à cause, notamment du manque de moyens convenables (numérisation des
données, utilisation de matériels informatiques etc.…). Citons quand même quelques
applications potentielles de fouille de données à Madagascar :
- EDM ou Educational Data Mining [3]: C’est une branche de la fouille de données consacrée
uniquement à l’éducation. Avec l’adoption du système LMD à Madagascar et la numérisation
des données éducationnelles, les possibilités de la fouille de données permettent
d’appréhender quelques applications spécifiques comme la prédiction des performances
académiques des étudiants [4], ou la détection de fraudes et des anomalies [5].
- Medical data mining[5] : Depuis le tout début, les techniques de fouille de données ont
surtout été utilisées dans le domaine médical. Le cas le plus fréquent d’utilisation de la fouille
de données en médecine est l’automatisation du processus de diagnostic [6]. Les
connaissances extraites sont utilisées pour assister le médecin dans le diagnostic de nouveaux
patients dans le but d’améliorer la rapidité, la précision et la fiabilité de ses diagnostics. Avec
les nombreuses épidémies qui frappent la population malagasy, un diagnostic précis, rapide et
fiable peut s’avérer indispensable pour y faire face.
- La fouille de données est aussi utilisée en télédétection, en reconnaissance des formes ou
encore en analyse d’images satellites [5].
Le data mining est l’analyse de grandes quantités de données afin de découvrir des formes et
des règles significatives en utilisant des moyens automatiques ou semi-automatiques basés sur
l’analyse statistique et l’apprentissage automatique.
Extraction d’informations intéressantes (non triviales, implicites, préalablement inconnues e
potentiellement utiles) à partir de grandes bases de données. C’est analyser les données pour
trouver des patrons cachés en utilisant des moyens automatiques.
Data Mining se considère comme un processus le plus automatique possible, qui par de
données élémentaires disponibles dans un Data Warehouse à la décision.
L’objectif principale de Data Mining c’est de créer un processus automatique qui a comme
point de départ les données y comme finalité l’aide à la prise des décisions.
La fouille de données est une étape du processus d’Extraction de Connaissances à partir des
Données. Son but est de rechercher des motifs reliant les données entre elles, sachant qu’ils
doivent être intéressants, et, pour cela, nouveaux, utiles et non triviaux [Frawley 92]. L’image
régulièrement utilisée est celle de la montagne au sein de laquelle sont enfouies des pépites.
La fouille de données consiste donc à les extraire malgré l’immensité de la montagne. Une
anecdote, connue dans le monde de la fouille de données, serait à l’origine de la réussite de la
chaîne de grande distribution Walmart. En exploitant les données issues des achats des clients,
un lien a été détecté entre la vente en soirée des packs de bière et celle des couches culottes. Il
s’expliquait par les pères de famille qui venaient acheter simultanément la bière et les
couches.
Après cette constatation, les rayonnages de bière et de couches ont été rapprochés, et cela a
entraîné un impact sensible sur le chiffre d’affaire.
Initialement, deux communautés abordaient la fouille de données de manière différente.
D’une part se trouvaient les partisans de la visualisation d’information, dont l’objectif était de
donner à l’utilisateur une vue générale des données, tout en permettant une vue détaillée.
D’autre part, les défenseurs de l’approche algorithmique arguaient de la suffisance des
méthodes statistiques et d’apprentissage pour trouver des motifs intéressants. Aujourd’hui,
même si ces deux philosophies existent toujours, une troisième approche a vu le jour par la
recherche de motifs en combinant l’approche visuelle et l’approche algorithmique.
Shneiderman [Shneiderman 01] a abordé cette question en mettant en regard ces approches,
dans la lignée de Tukey [Tukey 65] et Westphal & Blaxton [Westphal 98]. Il en a déduit
quatre recommandations pour l’élaboration de futurs systèmes de recherche de connaissance :
• Intégrer la Data Mining et la visualisation d’informations pour élaborer de nouveaux outils.
En ajoutant la visualisation au processus de Data Mining, l’utilisateur développe une
meilleure compréhension de ses données. Réciproquement, en ajoutant le Data Mining à la
visualisation, l’utilisateur peut spécifier ce qu’il recherche ;
• Permettre à l’utilisateur de spécifier ce qu’il cherche et ce qu’il estime intéressant. En lui
permettant de contraindre et de diriger ses outils, ils peuvent être plus efficients ;
• Reconnaître que l’utilisateur est situé dans un contexte social. Il ne travaille pas seul et a
donc besoin d’échanger des données et de les présenter ;
• Respecter la responsabilité de l’homme dans la conception des futurs outils. S’ils sont bien
conçus, il parviendra à les utiliser et sera d’autant plus performant.
Cette fouille de donnée est réalisée de manière automatique, de manière manuelle, ou par une
combinaison de ces deux approches.
La donnée peut constituer une connaissance en tant que telle, mais peut également être traitée
pour extraire de la connaissance. Jean-Paul Benzécri [Benzécri 77] écrivait en 1977 que
l’analyse des données avait pour objectif de dégager de la gangue des données le pur diamant
de la véridique nature. Plus tard, Witten et al. [Witten 11] ont défini la fouille de données
comme l’extraction d’informations implicites, inconnues et utiles à partir des données. Cela a
donné lieu à l’émergence d’une nouvelle discipline dans les années 80 appelée Knowledge
Discovery in Databases (KDD) ou Extraction de Connaissances à partir des Données (ECD)
[Piatetsky-Shapiro 91b, Fayyad 96a]. Gregory Piatetsky-Shapiro 2 est un pionnier dans ce
domaine. Fondateur des conférences KDD3, il a organisé le premier workshop Knowledge
Discovery in Databases en 1989. Depuis, nombre de travaux et de publications alimentent
cette communauté et en enrichissent les techniques.
La définition de l’extraction de connaissances à partir des données a été donnée en 1996 par
Fayyad et al: « KDD is the nontrivial process of identifying valid, novel, potentially useful,
and ultimately understandable patterns in data [Fayyad 96b]. » L’ECD est un domaine distinct
de l’apprentissage automatique (Machine Learning), car ce dernier met l’accent sur
l’induction de modèles pour la prédiction, par exemple pour reproduire une tâche humaine ou
pour adapter un comportement en fonction de résultats de calculs. L’extraction de données
combine des techniques issues de disciplines variées, comme les bases de données,
l’intelligence artificielle, les statistiques, les découvertes scientifiques et la visualisation
[Williams 96]. Elle est donc à l’intersection de ces disciplines et va puiser dans chacune
d’elles. Une de ses caractéristiques est la taille des bases de données qu’elle traite, qui
atteindra le yotta octet avec la mise en service du Utah Data Center de la N.S.A. [Herbert 12].
Figure 2 – L’extraction de connaissances à partir de données est à l’intersection de plusieurs
disciplines.
O Plus difficile que la classification car les classes ne sont pas connues à l’avance (non
supervisé)
O Attributs
O Numériques (distance bien définie)
O Enumératifs ou mixtes (distance difficile à définir)
Environnement : identification des zones terrestres similaires (en termes d’utilisation) dans
une base de données d’observation de la terre.
Exemple:
Nous avons des données des âges et revenus pour un groupe de consommateurs.
La question? Existe-ils des groupes de consommateurs avec des caractéristiques similaires dans
cette base de données?
Dans cet exemple simple avec deux variables nous pouvons représenter graphiquement les
données
Combien de groupes?
Distance
O « Observations similaires »
Figure 7 –
Distance
O Nous pouvons utiliser la mesure que nous avons apprise en primaire (théorème de Pythagore)
Pour les variables continues on va utiliser cette distance (existe d’autres distances)
L’algorithme K-Means
Cette méthode suppose que nous connaissons le numéro de groupes(clusters). Donc la
méthode trouve la « meilleure » affectation de points aux différents groupes (clusters), « la
meilleure » dans le sens de maximiser la distance inter-clusters et minimiser la distance intra-
cluster
O Décider le numéro (#) de clusters. Notons k à ce numéro
O Pour chaque N-K observations restantes, calculons les distances entre l’observation
correspondante et chacun des centres
O Pour chacun de ces groupes, nous calculons les nouveaux centres. Le centre est un vecteur
des moyennes pour toutes les variables utilisées par les observations au sein de chaque
groupe.
Exemple : K-means clustering
Figure 8 –
Exemple
Figure 9 – Exemple
K-means, comme n’importe quel algorithme qui se calcule à base des distances, peut être affecté
par les unités de mesure des variables
Les variables mesurées en grandes unités dominent la construction des clusters
Recommandation: Standardiser les variables avant de commencer la recherche des clusters.
Avantages de K-Means
O Rapidité, peut être appliqué à des bases données relativement grandes
Le modèle est construit à partir d’un ensemble de données, appelé base d’apprentissage.
Chaque élément X de la base d’apprentissage est constitué par un vecteur de dimension n, X =
(x1, x2, …, xn), qui représente les n valeurs de X correspondant à n attributs. Chaque élément
appartient à une classe prédéfinie déterminée par un attribut appelé attribut cible. Les valeurs
de l’attribut cible sont discrètes et non-ordonnées. Dans le cas où la valeur de l’attribut cible
est continue (numérique), on parle alors de régression.
La classification consiste donc à déterminer la classe d’un nouvel objet dont la valeur de
l’attribut cible est inconnue. La classification se fait en 2 étapes. La première étape consiste à
construire un modèle de classification à partir de la base d’apprentissage. C’est la phase
d’apprentissage. Cette première étape de la classification peut être assimilée à la
détermination d’une fonction f tel que y = f (X) où y est la valeur de l’attribut cible et X un
élément de la base. Dans la deuxième étape, le modèle obtenu est évalué sur un ensemble de
données appelé ensemble test. C’est la phase de test. Puisque la classe de chaque élément de
la base est fournie à l’avance, on parle d’apprentissage supervisé.
Quelles sont les variables à utiliser et dans quel ordre? Quel critère utilisé pour sélectionner la
« meilleure » division? Les mesures d'impureté suivantes seront utilisées: l’erreur de
classification, l’indice de GINI et l’entropie, pour cela se définie la probabilité: p(j/t) =la
probabilité d’appartenance à la classe « j » étant dans le Nœuds t. Souvent notée par pj
Question #2: l’erreur de classification, l’indice de Gini et l’entropie seront utilisés
O Erreur de classification:
Error(t) = 1 – max[p(j\t)]
O Indice de Gini
O Entropie:
Figure 12 –
Les réseaux de neurones sont des puissants algorithmes d'apprentissage automatique qui
utilisent des fonctions de cartographie complexe, non linéaire pour l'estimation et
classification. Ils sont constitués de neurones organisés en couches. La couche d'entrée
contient les prédicteurs ou neurones d’entrée. La couche de sortie comprend dans le champ
cible. Ces modèles permettent d'estimer des poids qui relient les prédicteurs (de la
couche d'entrée à la sortie).
Figure 13 –
Figure 14 –
Le Nœuds de sortie est la somme pondérée des valeurs de sorties des neurones
Figure 16 –
- Algorithme d’apprentissage
O Ajuster les poids de sorte que la sortie du réseau de neurones soit en accord avec les
étiquettes des classes d’entrainement.
O Fonction objective:
O Trouver les poids w’i qui minimise la fonction objective antérieure (erreur quadratique)
O Exemple: Backpropagation
Conclusion
Dans ce chapitre, nous avons pu voir les notions de base de Datamining, les processus
d’extraction de connaissances, les types de datamining ainsi que la présentation des différents
algorithmes.
Après la présentation de ces différents algorithmes de datamining, nous pouvons dire qu'il est
Références Bibliographiques
[1] Jiawei Han, Michelin Kamber, 2006, “Data Mining Concepts and Techniques”, Morgan
Kaufmann publishers,
[2]Daniel T. larose, 2005, “Discovering Knowledge in data: An introduction to data mining”,
John Wiley & sons,
[3] Cristobal Romero, Sebastien Ventura, 2013, “Data mining in education”, WIREs Data Mining
and Knowledge Discovery,
[4] Sajadin Sembiring, 2011, “prediction of student academic performance by an application of
data mining techniques”, international conference on management and artificial intelligence
[5] Hillol Kargupta, 2009, “Next generation of data mining”, Chapman & Hall /CRC, Data
mining and Knowledge discoveries series,
[6] D.Senthil Kumar, G.Sathyadevi and S.Sivanesh, mai 2011, “Decision support system for
medical diagnosis using data mining”, IJCSI International Journal of Computer Science Issues,
Vol. 8, Issue 3, No. 1,
Jean-Michel Franco, Le Data Warehouse, le Data Mining, Eyrolles, 1996 Michael J.A. Berry et
Gordon S. Linoff, Data Mining:Techniques appliquées au marketing, à la vente et aux services
clients, Masson, 1997 René Lefébure et Gilles Venturi, Le data mining, Eyrolles, 1998 Pierre
Lévine et Jean-Charles Pomerol, Systèmes interactifs d’aide à la décision et systèmes experts,
Hermès, 1990 Jean-Charles Pomerol, Les systèmes experts, Hermès, 1988 Olivier Cérutti et
Bruno Gattino, Indicateurs et tableaux de bord, Afnor, 1993 Hervé Sérieyx, Le big bang des
organisations, Editions Calmann-Lévy, 1993
2. CHAPITRE :
LE clustering
2.1 Introduction
Nous verrons dans ce chapitre les notions de clustering. Dans certains cas, il faut savoir qu’on
peut être amené à analyser un grand nombre d’objets ou d’individus qu’on cherche à répartir
en catégories de façon non supervisée. Grâce aux méthodes de clustering, on peut mettre en
évidence des familles d’individus homogènes selon un critère donné. Les possibilités
d’applications sont nombreuses. Par exemple, on peut s’en servir dans l’analyse de bases de
données marketing, pour trouver des groupes de clients aux comportements similaires et
auxquels on pourra adresser des campagnes commerciales personnalisées. Autre exemple :
une de nos missions nous a mené chez un grand industriel, où nous réalisons un clustering des
pièces mécaniques produites en fonction de leurs caractéristiques de production, de façon à
identifier des sources de variation et de défaillance dans le processus de production.
2.2 Généralité sur le clustering
2.2.1 Définition
La segmentation, de l'anglais « clustering », consiste à séparer un large ensemble de données
en plusieurs sous-ensembles nommés clusters. Les éléments contenus dans un cluster sont
similaires entre eux et différents des éléments des autres clusters [30, 31].
L'objectif de la segmentation est de trouver des structures inhérentes aux données et de les
présenter sous forme d'un ensemble de clusters [32]. Les applications typiques de la
segmentation sont comme outil d'exploration interne des distributions de données, ou comme
étape de prétraitement pour les autres algorithmes. Recourir à la détection des clusters quand
les regroupements naturels peuvent représenter des groupes de clients, de produits, ont
beaucoup en commun. En effet, lors de la présence de plusieurs schémas en compétition au
sein des données il est difficile d'extraire un schéma particulier, c'est pourquoi la création de
clusters peut réduire la complexité en organisant les données en clusters. Les techniques de
segmentation se séparent en deux catégories : le partitionnement et la répartition hiérarchique
[30, 31]. Les méthodes hiérarchiques construisent une hiérarchie de clusters et une unique
partition d'objets. Dans ces techniques, le nombre de clusters n'est pas requis et une matrice de
distance est généralement utilisée comme critère de segmentation. De même, ces méthodes
sont souvent caractérisées comme des approches de segmentation de meilleure qualité.
Cependant, la complexité de la répartition hiérarchique est en général au moins O(n2), cela
rend ces techniques trop lentes pour les grands ensembles de données. Au contraire, la
complexité algorithmique des techniques de partitionnement est la plupart du temps linéaire.
Celles-ci divisent les données en groupes qui ne se chevauchent pas pour maximiser le temps
de traitement.
Afin de déterminer quelles sont les données avec le plus de similarité, une fonction de
distance est généralement utilisée pour calculer la différence entre chaque instance [19].
Il existe plusieurs façons de définir cette fonction de distance, souvent désignée par « mesure
de similarité ». La plupart des techniques de segmentation utilisent la distance euclidienne
comme mesure de similarité. La distance entre deux instances a et b avec k attributs est
définie comme la somme de la différence au carré de chacun de leurs attributs, exprimé par la
formule suivante :
kd(a,b) =
Cette formule suppose que les attributs sont de types numériques. Si un attribut est de type
nominal, la différence entre deux valeurs identique sera 0. Si les valeurs ne sont pas égales
alors la distance sera maximale, c'est-à-dire 1.
Tout ceci a pour objectif d'obtenir une bonne segmentation, la qualité des clusters sera
d'autant plus importante avec une similarité intra-classe élevée et une similarité interclasse
faible. La mesure de similarité est l'un des principaux facteurs de la qualité des clusters, elle
dépend de la distance utilisée et de son implémentation. Une méthode de segmentation est
évaluée par son habileté à découvrir certains ou tous les schémas cachés dans les données,
plus il y en aura et plus la méthode sera de bonne qualité.
2.2.2 Type de clustering
Un clustering est un ensemble de clusters. Il y a une distinction entre le clustering
hiérarachique et un partitionnement en clusters.
Clustering en partitionnement c’est une division de données en sous-ensembles ne se
chevauchant pas.
Clustering hiérarchique c’est un ensemble de clusters imbriqués organisée en arbre
hiérarchique
Clustering partitionnement
P1
P1
P3
P4
P2
P1 P2 P3 P4
P1
P3 P4
P2
• une forte similarité intraclasse (ou faible variabilité intraclasse), ce qui signifie que les
individus d’un groupe donné doivent se ressembler ;
• et une faible similarité interclasses (ou forte variabilité interclasses), ce qui signifie que les
individus de groupes distincts ne doivent pas se ressembler.
Une fois les clusters constitués, on peut ensuite les interpréter en utilisant par exemple des
outils statistiques usuels tels que moyennes, écarts-types, min/max, etc.
Voyons désormais comment on procède pour créer ces clusters. Pour cela, nous présentons
successivement le clustering hiérarchique et le clustering non hiérarchique. Nous montrerons
aussi que ces approches peuvent être utilisées conjointement.
2.2.2.1 Le clustering hiérarchique
Principe
La construction d’un clustering hiérarchique passe par l’emploi d’algorithmes qu’on peut
distinguer selon deux grandes familles :
• les algorithmes ascendants (agglomératifs) construisent les classes par agglomérations
successives des objets deux à deux ;
• les algorithmes descendants (divisifs) réalisent des dichotomies progressives de l’ensemble
des objets.
Dans les deux cas, les algorithmes aboutissent à la constitution d’un arbre appelé
dendrogramme, qui rassemble des individus de plus en plus dissemblables au fur et à mesure
qu’on s’approche de la racine de l’arbre.
Clusters contenant
Tous les individus
Forte hétérogénéité
Racin Divisif
e
abcde
Noeuds
étape étape
4 0
cde
étape
étape
3
1
étape de étape
2
Branch
2
étape
1
ab e étape
3
étape étape
0 a b c d e 4
Agglomératif
Feuilles
Clusters à 1 individu :
Homogénéité parfaite
Ces regroupements sont représentés par le dendrogramme. Celui-ci est une hiérarchie
indicée : chaque niveau a un indice (ou niveau d’agrégation) qui représente de manière
générale la distance entre ses éléments3.
L’application de cet algorithme pose deux questions : (1) comment calcule-t-on les distances
et (2) qu’est-ce qu’un critère d’agrégation ? Par ailleurs, une fois l’arborescence réalisée, on
peut aussi se demander combien de classes doivent être conservées.
Les distances
Cette problématique doit être abordée en amont de l’application de l’algorithme. Elle revient à
se demander ce qu’on entend par ressemblance entre individus. Cette interrogation préalable
explicite est une grande force, puisqu’elle permet de s’adapter à des particularités liées aux
données.
La distance la plus intuitive, communément utilisée, est la distance euclidienne standard.
Soit une matrice X à n variables quantitatives. Dans l’espace vectoriel n, la distance
euclidienne d entre deux observations x1 et x2 est donnée par :
(les données étant centrées réduites).
D’autres distances peuvent être utilisées selon les
spécificités des données et l’objectif de la classification.
Par exemple, si l’on cherche à comparer des proportions, on pourra utiliser la célèbre distance
du χ² (les statisticiens l’adorent !). Pour chacune des n variables, on considère alors une
proportion fin par individu et une proportion moyenne pour la variable fn. La distance du χ² va
alors mesurer un écart entre des valeurs observées et des valeurs théoriques, en pondérant la
distance euclidienne par l’inverse des proportions moyennes :
Dans certains cas, on peut avoir recours à des distances qui ne sont plus euclidiennes.
C’est le cas de la distance de Manhattan (ou distance city-block ou taxi-distance4) :
Par rapport à la distance euclidienne usuelle, qui utilise le carré des écarts, on utilisera
notamment cette mesure pour minimiser l’influence des grands écarts.
Certaines circonstances impliquent l’utilisation de mesures qui ne sont pas des distances au
sens mathématique du terme, car elles ne respectent pas ce que l’on appelle l’inégalité
triangulaire5. On parle alors de dissimilarité plutôt que de distance. Ces mesures sont
particulièrement utiles pour la classification des tableaux de présence/absence, en étudiant,
pour parler comme un statisticien, la dissimilarité entre des objets constitués d’attributs
binaires. Pour cela, on peut utiliser l’indice de similarité de Jaccard. Désormais, nos individus
x1 et x2 sont définis par n variables de valeur 0 ou 1. Définissons les quantités suivantes :
• M11 : nombre de variables qui valent 1 chez x1 et x2
• M01 : nombre de variables qui valent 0 chez x1 et 1 chez x2
• M10 : nombre de variables qui valent 1 chez x1 et 0 chez x2
• M00 : nombre de variables qui valent 0 chez x1 et x2
avec M11 + M01 + M10 + M00 = n (chaque paire d’attributs appartient nécessairement à l’une
des quatre quantités)6
L’indice de Jaccard est alors7 :
D’où l’on calcule la distance de Jaccard :
Ce type de distance est par exemple utilisé en botanique8 (en phytosociologie, plus
précisément), pour mettre en évidence des associations d’espèces végétales dans des milieux
similaires. Il est aussi utilisé en génomique, pour mesurer la ressemblance entre les séquences
des quatre bases constituant les gènes.
Le critère d’agrégation
Que représente cette notion ? C’est simple : imaginez-vous à la première étape de
l’algorithme de clustering, pour une distance choisie. Calculons la première matrice des
distances entre tous les individus : l’application de la formule d(x1, x2) s’applique directement
et c’est parfait ainsi. Mais à partir des itérations suivantes, nous aurons à considérer des
groupes d’individus et la question suivante se posera : comment calculer la distance en
présence de groupes ? Différentes possibilités existent.
Tout d’abord, trois critères qui fonctionnent quelle que soit la mesure de distance ou de
dissimilarité (parmi beaucoup d’autres !) :
• le critère du lien minimum (ou lien simple ou single linkage), qui va se baser sur les deux
éléments les plus proches ;
• le critère du lien maximum (diamètre, complete linkage), qui va se baser sur les deux
éléments les plus éloignés ;
• et le critère du lien moyen (average linkage), qui va utiliser la moyenne des distances entre
les éléments de chaque classe pour effectuer les regroupements.
La figure 9-2 illustre ces différents critères.
Figure 9-2 – Quelques critères d’agrégation
Dans le cadre de distances euclidiennes, d’autres critères peuvent être employés. Le plus usité
est le critère de Ward, qui se base sur ce que l’on appelle l’augmentation de l’inertie.
L’inertie totale de l’ensemble des individus est décomposée selon :
• l’inertie intraclasse, qui représente l’écart entre chaque point et le centre de gravité de la
classe à laquelle il appartient ;
• l’inertie interclasses, qui représente l’écart entre chaque centre de gravité d’une classe et le
centre de gravité général.
Sans entrer dans les détails, utiliser le critère de Ward va revenir à agréger deux classes de
façon à ce que l’augmentation de l’inertie intraclasse soit la plus petite possible, pour que les
classes restent les plus homogènes possible.
Selon le critère choisi, on peut aboutir à des arbres ayant des formes très différentes. Le saut
minimum tend à construire des arbres aplatis, avec des accrochages successifs d’individus un
à un (des « chaînes »), alors que le lien maximum tend à former des groupes isolés et très
compacts. Le critère de Ward tend quant à lui à produire des classes d’effectifs similaires. Au
final, il faut retenir qu’il n’existe pas une unique bonne méthode, tout comme il n’existe pas
un unique clustering. Il est recommandé de tester plusieurs approches pour un même jeu de
données. Les hiérarchies complètes peuvent beaucoup changer, mais, normalement, le « haut
» de l’arbre ne doit pas beaucoup varier (les partitions à peu de groupes doivent rester assez
stables).
La notion de troncature
Une fois l’algorithme appliqué et les distances calculées, nous pouvons présenter les résultats
sous la forme du dendrogramme déjà évoqué. Il représente tous les clusterings possibles, du
clustering le plus fin (un cluster par individu) au plus grossier (un cluster unique pour tous les
individus).
La question suivante peut alors se poser : à quel niveau d’agrégation doit-on « couper »
l’arbre, c’est-à-dire comment définir le nombre de clusters le plus pertinent ? Des réponses
quantitatives peuvent être apportées, basées sur le gain relatif d’inertie engendré par le
passage d’une partition à une autre, mais retenez que l’examen visuel du dendrogramme
donne souvent de très bonnes réponses. On peut alors se baser sur des critères tels que :
• l’allure générale de l’arbre : elle laisse souvent apparaître un niveau de coupe « logique »
indiqué par des sauts importants dans les valeurs des indices de niveau. Si ces sauts
concernent les k derniers noeuds de l’arbre, alors un découpage en (k+1) classes sera pertinent
;
• le nombre de clusters : éviter un nombre trop grand, auquel cas le clustering perd de son
intérêt ;
• la capacité à interpréter les clusters : inutile de chercher à retenir des clusters pour lesquels
on n’arrive pas à donner de sens métier ; privilégier les clusterings qui ont du sens.
Voilà pour ce tour d’horizon du clustering hiérarchique. Vous en trouverez un exemple
d’application dans le cas particulier des séries temporelles au chapitre 22.
Nous avons abordé un certain nombre de notions nouvelles, qui vont nous permettre
d’aborder plus rapidement le paragraphe concernant le clustering non hiérarchique.
2.2.2.2 Le clustering non hiérarchique
Principe
L’objectif du clustering non hiérarchique est le même que pour le clustering hiérarchique,
mais cette fois-ci, on sait à l’avance le nombre de clusters à constituer. Pour une mesure de
distance des individus donnée et pour un nombre de classes k connues, on imagine aisément
une solution de classification simple et optimale : énumérer toutes les possibilités de
regroupement imaginables et conserver la meilleure. Toutefois, cette solution n’est pas
applicable en pratique, car le nombre de combinaisons de regroupements possibles devient
très rapidement énorme. Mais des solutions approchées peuvent être obtenues grâce à des
heuristiques et plusieurs algorithmes de ce genre existent. Leur principe fondamental est
contenu dans la méthode des centres mobiles.
Les centres mobiles
Pour k classes définies à l’avance, l’algorithme procède de façon itérative comme le montre le
tableau 9-2 (Lebart et al., 2006).
Étape 0 On détermine k centres provisoires de clusters (par exemple, par tirage
aléatoire de k individus). Ces k centres {C10, …, Ck0} induisent un
premier clustering P0 de l’ensemble des individus en k groupes {I1
0, …, Ik0}. Ainsi, l’individu i appartient par exemple au groupe I1
0 s’il est plus proche de C1 0 que de tous les autres centres.
Quelques variantes
Elles sont nombreuses, et nous nous limiterons à en évoquer quatre :
• la méthode des k-means : elle fonctionne exactement comme les centres mobiles, à une
différence près, qui est le calcul des centres. Un recentrage est effectué dès qu’un individu
change de cluster. On n’attend plus que tous les individus soient affectés à un cluster pour en
calculer les centres de gravité, ces derniers sont modifiés au fur et à mesure des
réaffectations ;
• la méthode des nuées dynamiques : elle favorise la recherche de groupements stables.
C’est une généralisation des centres mobiles dont l’idée est d’associer à chaque cluster un
représentant différent de son centre de gravité. Dans la majorité des cas, on remplace le centre
de gravité par un ensemble d’individus, qu’on appelle des « étalons » et qui constituent un «
noyau ». Ce noyau est censé avoir un meilleur pouvoir descriptif que des centres ponctuels. À
noter que d’autres représentants plus exotiques peuvent être utilisés : une droite, une loi de
probabilité, etc. ;
• la méthode Isodata : le principe des centres mobiles est conservé, mais des contraintes vont
permettre de contrôler l’élaboration du clustering. Ces contraintes servent à empêcher la
formation de groupes à effectifs trop faibles ou de diamètre trop grand ;
• la méthode des k-medoids : elle est similaire à la méthode des k-means, à une différence
près. En effet, elle ne va plus définir une classe par une valeur moyenne (le centre de gravité,
on centroid), mais par son représentant le plus central (le medoid). C’est donc un individu du
cluster qui va représenter ce dernier. Cette méthode a l’avantage d’être plus robuste aux
valeurs aberrantes ;
• la méthode des cartes auto-organisées (Self-Organising Maps, ou cartes de Kohonen) : cet
algorithme diffère des centres mobiles par la mise à jour des clusters voisins, où les clusters
deviennent des neurones activables. Cette méthode non linéaire permet in fine de conserver
toute la topologie des données, en partant le plus souvent d’une grille rectangulaire de
neurones qui va se déformer.
Arrêtons là l’énumération de méthodes aux noms de plus en plus étranges ! Dans la pratique,
nous vous recommandons de sélectionner une méthode « de base », centre mobile ou nuée
dynamique par exemple, puis d’aller vers des méthodes plus élaborées si les résultats ne sont
pas satisfaisants.
Les approches mixtes
Dans ce chapitre, nous avons présenté les approches hiérarchiques et non hiérarchiques
séparément. Mais en pratique, il peut être utile de les utiliser conjointement. Terminons ce
chapitre en donnant quelques indications méthodologiques à cet effet.
En mixant les approches, on peut tirer parti des principaux avantages des différentes
méthodes, à savoir :
• la capacité à analyser un grand nombre d’individus, point fort des méthodes non
hiérarchiques (pour un nombre d’observations supérieur à 103, il devient difficile d’appliquer
directement des méthodes hiérarchiques) ;
• le choix d’un nombre de classes optimal, rendu possible par la classification hiérarchique.
Un algorithme mixte global peut être résumé par le tableau 9-3 (Lebart et al., 2006).
Références
Au fil du chapitre, nous avons exclusivement renvoyé à Lebart et al. (2006). Complet,
rigoureux et accessible, c’est l’un des livres de référence en matière de fouille de données :
• Lebart L., Piron M., Morineau A. 2006. Statistique exploratoire et multidimensionnelle –
Visualisation et inférence en fouilles de données. 4e édition, Dunod. Une version en ligne
d’une édition plus ancienne est disponible ici : http://horizon.documentation.ird.fr/exldoc/
pleins_textes/divers11-10/010007837.pdf.
Sans y faire référence directement, nous nous sommes également appuyés sur les références
suivantes :
• Bouroche JM., Saporta G. 2005. L’analyse des données. PUF, Que sais-je ?
La version miniature de Lebart et al., à mettre dans toutes les poches !
• Husson F., Sebastien L., Pagès J. 2009. Analyse de données avec R. Presses
Universitaires de Rennes.
Une très bonne synthèse opérationnelle des méthodes de clustering, avec le code qui permet
de les mettre en oeuvre sous R en utilisant l’excellente librairie FactoMineR.
• Mirkes EM. 2011. University of Leicester met à disposition un ensemble d’applets,
disponibles sur la page de Gorban AN.
http://www.math.le.ac.uk/people/ag153/homepage.
Elles permettent de se faire une idée intuitive de certaines des méthodes évoquées.
• Roux M. 1997. Algorithmes de classification. (http://www.imepcnrs.
com/docu/mroux/algoclas.pdf).
Ce livre est extrêmement complet et pédagogique. Il est hélas épuisé, mais disponible en
ligne.
• Singh SS., Chauchan NC. 2011. K-means v/s K-medoids: A comparative study. In
National Conference on Recent Trends in Engineering & Technology. (13-14 May 2011)