• Aucun résultat trouvé

Chapitre II : KDD et Data Mining

II.6. Le Clustering

Le Clustering consiste à la division de l’ensemble de données en groupes d’objets similaires appelés Clusters. Il est considéré comme une technique d’apprentissage non supervisé, c’est-à-dire sans savoir de connaissance à priori sur les groupes existants (y compris leur nombre). Cette technique a été exploitée dans plusieurs domaines tels que l’apprentissage machine, le traitement d’image/vidéo, la bio-informatique et la biochimie. Selon, le but de clustering ou les caractéristiques de données, différents types d'algorithmes de clustering ont été développés et qui feront l’objet de la section II.6.4.

II.6.1. Principe du clustering

Le principe du clustering consiste à partitionner l’ensemble de données en sous- ensembles de données pour construire des clusters, en respectant les deux critères suivants :

• diminuer la distance entre les données d’un même cluster ; • augmenter la distance entre données de clusters différents.

Ce principe nécessite donc l’utilisation d’une fonction de mesure de distance pour mesurer la similarité entre les instances de données, qui est généralement liée au type de données traitées. [58]

II.6.2. But de clustering

Selon l'objectif à atteindre, les applications de clustering sont classées en trois catégories principales : la segmentation, la classification et l’extraction de connaissances [79].

A – La segmentation

Le principal but de la segmentation d’une base de données est de réduire l'ensemble de données traitées afin de faciliter leur traitement. Dans ce cas, nous parlons de la condensation ou de la compression de données. Généralement, cette méthode est utile dans la segmentation des images dans les bases de données spatiales, pour identifier les différentes régions homogènes de l'espace décrit (maisons, routes, champs, rivières, etc.).

B– La classification Les primordiales applications de cette technique sont dans la

gestion de la relation avec le client. Cette technique consiste à l’identification de sous- population ayant des caractéristiques similaires ou proches dans les bases de données. Comme exemple, dans une base de données client, le but principal est de mettre des profils de clients aux comportements similaires, afin de comprendre leurs attentes et leurs besoins en fonctions de leur appartenance à un profil donné.

C– L’extraction de connaissances

Il n'y a pas de but prédéterminé d'utiliser le clustering pour l’extraction de connaissances. Le clustering dans ce cas est destiné à utiliser dans le contexte de la génération d’hypothèses ou la modélisation prédictive, dans le but d’aider à comprendre la structure des données en regroupant les classes homogènes et en inférant les règles qui caractérisent les données de domaine. Il peut être utilisé dans l’analyse du web, l’analyse des données textuelles, étude de ventes, bio-informatique, analyse génétique, diagnostics médicaux...etc.

II.6.3. Etapes du processus de clustering

Le processus de clustering utilise plusieurs critères spécifiques afin de partitionner la base de données en clusters homogènes. Cependant, l’étape de prétraitement de données est nécessaire avant de lancer la tâche de clustering sur l’ensemble de données. Le processus de clustering est devisé en quatre étapes qui sont présentées dans la Figure II 3.

Figure II-3 : Les étapes du processus de Clustering [101] 1 - Extraction ou sélection des attributs

Une opération prétraitement des données est nécessaire pour assurer la qualité de données avant d’exécuter la tâche de clustering. L’objectif de cette étape est d'identifier les attributs dans lesquels le clustering doit être correctement lancé afin d'encoder autant que possible les informations concernant la tâche désirée.

2 - Conception ou sélection d’algorithme du clustering

Extraction ou sélection des attributs Échantillons de données Conception ou sélection d’algorithme du Clustering Validation des clusters Interprétation des résultats Connaissances Clusters

paramètres importants qui sont la mesure de proximité et le critère groupant pour définir les clusters représentant la base de données.

1. La mesure de proximité. C'est une mesure qui détermine comment les deux points sont similaires.

2. Critère groupant. Il peut être exprimé par l'intermédiaire d'une fonction de coût ou d'un autre type de règles.

Le choix de la mesure de proximité et le critère groupant influencent directement à la qualité de partitionnement de l’ensemble de données.

3 - Validation des clusters

Cette étape est basée sur un ensemble des techniques et des critères pour vérifier l’exactitude des résultats de l'algorithme de clustering. Le partitionnement final des données demande un certain genre d'évaluation dans la plupart des applications du clustering puisque ses algorithmes produisent des clusters qui ne sont pas connus à priori.

4 - Interprétation des résultats

Dans cette étape, Le rôle de l’expert de domaine d’application est primordial pour intégrer et affiner les résultats de clustering par d'autres analyses expérimentales afin d’extraire des bonnes connaissances. Dans la section suivante nous décrirons les différents algorithmes utilisés pour la tâche clustering de données.

II.6.4. Algorithmes de clustering

De nombreux algorithmes ont été développés pour la tâche du clustering. Ils peuvent être catégorisés sur plusieurs groupes tels que : Les algorithmes de partitionnement, hiérarchiques, basés sur la densité, basés sur la grille et basés sur les modèles.

Les algorithmes de partitionnement créent un ensemble initial de k partitions, où le

paramètre k représente le nombre de partitions (clusters ou groupes) à construire, qui est fixé a priori ; ensuite, Ils utilisent un processus itératif en fonction du nombre k qui consiste à affecter chaque enregistrement au cluster le plus proche selon une fonction de distance ou un indice de similarité, que nous abordons dans la section suivante. Les algorithmes typiques de partitionnement incluent K-Means [203] et [65], KMedoids, KModes [206], CLARANS [204] et [66]). Dans notre approche que nous allons proposer dans le chapitre IV, nous nous intéresserons à modéliser l’algorithme « KMeans » en utilisant le paradigme du système multi-agents dans le but de regrouper efficacement les enregistrements de données métiers ERP en groupes d’objets homogènes.

Les algorithmes hiérarchiques créent une décomposition hiérarchique de l'ensemble de

données. Ces algorithmes peuvent être classés comme étant soit agglomératifs (Bottom up), soit divisifs (Top down), en fonction de la façon dont la décomposition hiérarchique s'est formée. Les algorithmes agglomératifs considèrent initialement une partition constituée par des clusters, regroupant au départ une seule instance de données, et qui regroupent ensuite les clusters "voisins" jusqu’à un critère d’arrêt. Les algorithmes connus dans ce type sont : (Single-Link, CompleteLink, Average-Link[208], Agnes [157], Chameleon [64], Birch [62],

Cure [204]). Les algorithmes décisifs considèrent initialement qu’une partition constituée d’un seul cluster contient l’ensemble des instances de données, ainsi qu’ils découpent, par la suite, ces clusters de manière itérative jusqu’à un critère d’arrêt. L’algorithme le plus utilisé dans ce type est : DIANA [157]).

Les algorithmes basés sur la densité regroupent les objets en fonction de la notation de

densité. Dans ce type d’algorithmes, les clusters se développent en fonction de la densité des objets de voisinage et de connectivité ou selon une certaine fonction de densité. Les algorithmes les plus connus sont DBSCAN [183], CLIQUE [159], MAFIA [161], et DENCLUE [188].

Les algorithmes basés sur les grilles utilisent la structure de la grille pour partitionner

l’espace de description des données en différentes cellules et effectuent un regroupement sur la structure de la grille pour former les clusters. Parmi Les algorithmes du clustering basés sur les grilles, nous pouvons citer, STING [189] et WaveCluster [193].

Les algorithmes basés sur les modèles ont émis l'hypothèse d'un modèle pour chacun des

clusters afin de trouver le meilleur résultat qui ajuste les données avec le modèle. Ce type d’algorithmes est plus proche des algorithmes basés sur la densité, concernant la naissance des classes particulières qui améliorent un certain modèle préétabli. Deux familles d’approches des algorithmes basés sur les modèles sont distinguées : les approches probabilistes [207] et [209] et les approches neuronales [205].