Les algorithmes de clustering permettent de partitionner les données en sous-groupes, ou clusters, de manière non supervisée. Intuitivement, ces sous-groupes regroupent entre elles des observations similaires. Les algorithmes de clustering dépendent donc fortement de la façon dont on définit cette notion de similarité, qui est souvent spécifique au domaine d'application.
Comprendre les données
Les algorithmes de clustering sont le plus souvent utilisés pour une analyse exploratoire des données.
Il s'agit par exemple d'identifier :
des clients qui ont des comportements similaires (segmentation de marché) ;
des utilisateurs qui ont des usages similaires d'un outil ;
des communautés dans des réseaux sociaux ;
des motifs récurrents dans des transactions financières.
Visualiser les données
En plus d'un algorithme de réduction de dimension qui permet de visualiser les données en deux ou trois dimensions, on peut utiliser un algorithme de clustering pour former des sous-groupes de ces points, ou clusters.
On peut ainsi représenter visuellement les relations entre les points. Par ailleurs, on peut aussi, au lieu de représenter l'intégralité des données, afficher uniquement un point représentatif par cluster.
Inférer des propriétés des données
Cette utilisation des algorithmes de clustering est particulièrement utile dans les cas, fréquents, où il est coûteux d'étiqueter les données.
Prenons l'exemple de l'annotation d'une large banque d'images. Annoter chacune de ces images par ce qu'elle représente peut être un travail long et fastidieux, au point d'ailleurs que les personnes qui l'effectuent peuvent involontairement introduire des erreurs par inattention ou fatigue. Il est moins coûteux et peut-être même plus efficace de laisser un algorithme de clustering regrouper entre elles les images similaires, puis de ne faire intervenir un opérateur humain qu'au moment d'assigner une étiquette à une classe d'images.
Ainsi, on peut utiliser des algorithmes de clustering pour étendre à tous les points du même cluster une propriété de l'un de ces points (dans l'exemple précédent, l'objet représenté).
Il s'agit par exemple d'identifier :
des images similaires, susceptibles de représenter le même objet, le même animal ou la même personne ;
des textes similaires, susceptibles de parler du même sujet ;
dans une image, les points qui appartiennent au même objet (on parle alors plus spécifiquement de segmentation).
Dans la suite de cette partie, nous allons définir plusieurs critères à optimiser pour définir une partition intéressante des données, et les utiliser pour dériver quelques-uns des algorithmes de clustering les plus connus : clustering hiérarchique, k-means et DBSCAN.
Résumé
Les algorithmes de clustering permettent de partitionner un jeu de données en sous-groupes d'observations similaires.
Ils peuvent être utilisés pour :
mieux comprendre les données ;
faciliter la visualisation des données ;
inférer des propriétés des données.