Le clustering ou analyse de clusters est une méthode d'apprentissage non supervisé utilisée dans le Machine Learning et l'analyse de données, qui organise vos données afin que les points de données d'un même groupe (ou cluster) présentent une similarité plus importante entre eux qu’avec n’importe quel point de donnée des autres groupes. Le clustering aide à donner un sens à des jeux de données volumineux et complexes en mettant en évidence des motifs et des tendances ou en faisant des prédictions sur des données non labellisées.
Fonctionnement du clustering
Le clustering comprend plusieurs étapes clés, notamment la préparation des données, la définition d'une mesure de similarité, le choix de l'algorithme de clustering approprié, ainsi que l'évaluation et l'affinement des clusters.
Le clustering fonctionne en mesurant la similarité entre les points de données et en regroupant les points qui présentent une mesure de similarité plus élevée que ceux de tout autre cluster. Le concept de « similarité » varie selon le contexte et les données : c'est un aspect fondamental de l'apprentissage non supervisé. Diverses mesures de similarité peuvent être utilisées, notamment la distance euclidienne, probabiliste, la distance cosinus et la corrélation.
Types d'algorithmes de clustering
Les algorithmes de clustering se répartissent en deux grandes catégories :
- Hard clustering : lorsque chaque point de données appartient à un seul cluster, comme dans le cas de la méthode répandue k-means
- Soft clustering : lorsque chaque point de données peut appartenir à plusieurs clusters, comme dans les modèles de mélange gaussien
Il existe plusieurs algorithmes de clustering, chacun faisant appel à une approche unique pour regrouper les données. Ces méthodes varient considérablement dans leur mécanique et leurs cas d'utilisation idéaux. Les types d'algorithmes de clustering les plus courants utilisés dans le Machine Learning sont les suivants :
- Le clustering hiérarchique construit une hiérarchie de clusters à plusieurs niveaux en créant une arborescence de clusters.
- Le clustering k-means partitionne les données en k clusters distincts en fonction de la distance au centroïde d'un cluster.
- Le modèle de mélange gaussien forme des clusters comme un mélange de composantes à densité normale multivariée.
- Le clustering spatial basé sur la densité (DBSCAN) regroupe les points proches les uns des autres dans des zones de forte densité, tout en continuant à suivre les valeurs aberrantes des régions de faible densité. Il est capable de gérer des formes non convexes arbitraires.
- Les cartes auto-organisatrices utilisent des réseaux de neurones qui apprennent la topologie et la distribution des données.
- Le clustering spectral transforme les données d'entrée en une représentation graphique où les clusters sont mieux séparés que dans l'espace de caractéristiques d'origine. Le nombre de clusters peut être estimé en étudiant les valeurs propres du graphe.
- Des chaînes de Markov cachées peuvent être utilisées pour découvrir des motifs dans des séquences, par exemple des gènes et des protéines en bio-informatique.
- Le clustering fuzzy c-means (FCM) regroupe les données en N clusters, chaque point de données du jeu de données étant caractérisé par un degré d'appartenance à chaque cluster.
Le clustering pour l'apprentissage non supervisé
L’apprentissage non supervisé est un type d'algorithme de Machine Learning utilisé pour déduire des informations à partir de données non labellisées sans intervention humaine. Le clustering est la méthode d'apprentissage non supervisé la plus courante. Il s'agit d'appliquer des algorithmes de clustering pour explorer les données et identifier des motifs ou des regroupements cachés dans les données sans aucune connaissance préalable des étiquettes de groupe. En utilisant ces groupes et motifs, le clustering permet d'extraire des informations utiles à partir de données non labellisées et de révéler les structures inhérentes à ces dernières.
Importance du clustering
Le clustering est un domaine important de l’intelligence artificielle. Il joue un rôle important dans divers domaines en offrant des informations précieuses sur les données et en mettant en évidence des motifs et des relations qui n'apparaissent pas forcément de manière évidente. Dans le cas des données non labellisées, où les relations inhérentes entre les points de données sont cachées mais requises pour révéler des informations utiles, le clustering aide à mettre en évidence ces relations et à organiser les données non labellisées en groupes significatifs.
En regroupant des éléments similaires, le clustering réduit la complexité des données afin que vous puissiez vous concentrer sur le comportement des groupes plutôt que de vous laisser submerger par des points de données individuels. Ainsi, le clustering peut être utilisé pour l'analyse exploratoire des données et l'apprentissage semi-supervisé. Dans ce dernier cas, le clustering est utilisé comme étape de prétraitement avant l’apprentissage supervisé pour réduire la quantité de données à traiter par un modèle de Machine Learning et améliorer la précision de la modélisation prédictive.
Le clustering est également fréquemment utilisé dans des applications telles que la détection d'anomalies, la segmentation d'images et la reconnaissance de formes. Plus précisément, le clustering peut être appliqué dans les cas suivants pour identifier des motifs et des séquences :
- Les clusters peuvent représenter les données au lieu du signal brut dans les méthodes de compression de données.
- Les clusters indiquent des régions d'images et des nuages de points LiDAR dans les algorithmes de segmentation.
- Le clustering peut aider à identifier les valeurs aberrantes ou les anomalies dans un jeu de données.
- En imagerie médicale, des algorithmes de clustering peuvent être utilisés pour subdiviser les images en régions d'intérêt, par exemple pour différencier les tissus sains et les tumeurs ou pour segmenter le cerveau en substance blanche, substance grise et liquide cérébrospinal.
- Le clustering est utilisé dans les systèmes d'information géographique (SIG) pour analyser l'imagerie satellite ou les photographies aériennes afin d'identifier l'étalement urbain ou les modes d'utilisation des terres, ou pour surveiller les changements dans les zones urbaines au fil du temps.
- Le clustering génétique et l'analyse de séquences sont utilisés en bio-informatique.
Le clustering avec MATLAB
En utilisant MATLAB® avec Statistics and Machine Learning Toolbox™, vous pouvez identifier des tendances et des caractéristiques en appliquant les méthodes de clustering de votre choix et en divisant vos données en groupes ou clusters. Avec Image Processing Toolbox™, vous pouvez effectuer du clustering d'images.
Préparation des données
Pour obtenir des résultats de clustering précis et efficaces, il est essentiel de prétraiter les données et de gérer les valeurs manquantes et les valeurs aberrantes. Vous pouvez nettoyer et prétraiter vos données de façon programmatique en utilisant des fonctions prédéfinies ou de manière interactive avec l'application Data Cleaner.
Algorithmes de clustering
MATLAB supporte tous les algorithmes de clustering courants, que vous pouvez appliquer avec des fonctions prédéfinies, telles que la fonction kmeans
. Vous pouvez utiliser la tâche Cluster Data dans le Live Editor pour effectuer de manière interactive le clustering k-means et le clustering hiérarchique. Grâce à cette tâche, vous pouvez générer automatiquement du code MATLAB pour votre live script.
Vous pouvez également effectuer le clustering par plus proches voisins dans Simulink en utilisant le bloc KNN Search. Le bloc accepte un point de requête et renvoie les k points plus proches voisins dans les données d'observation en utilisant un objet de recherche du plus proche voisin.
Visualiser et évaluer les résultats du clustering
Lorsque les données ne contiennent pas de divisions naturelles qui indiquent le nombre approprié de clusters, vous pouvez utiliser différents critères d'évaluation, tels que l'écart ou la silhouette, pour déterminer si les données s’adaptent à un nombre particulier de clusters. Vous pouvez également visualiser les clusters pour inspecter les résultats du clustering. Vous pouvez par exemple utiliser un dendrogramme pour visualiser le clustering.
Le clustering pour les images
Vous pouvez effectuer une segmentation d'images (avec la fonction imsegkmeans
) et une segmentation de volume (avec la fonction imsegkmeans3
) sur des images en effectuant un clustering des régions de pixels en fonction de leurs similarités en termes de couleur ou de forme. Vous pouvez créer une image segmentée labellisée en utilisant un algorithme de clustering spécifique. Par exemple, en imagerie médicale, vous pouvez détecter et labelliser des pixels dans une image ou des voxels d'un volume 3D qui représentent une tumeur dans le cerveau ou dans d'autres organes d'un patient. En exploitant les outils MATLAB, vous pouvez traiter et analyser des images pour un large éventail d'applications, du diagnostic des maladies à la classification de l'utilisation des terres.
Ressources
Développez vos connaissances grâce à la documentation, aux exemples, aux vidéos et plus encore.
Sujets connexes
Explorez des sujets similaires pour lesquels on utilise couramment les produits MATLAB et Simulink.
Version d'essai gratuite de 30 jours
CommencerSélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)