Dans mon précédent article du blog JMP , j'ai parlé de deux algorithmes utilisés pour le clustering : les k-means et les mélanges normaux (en utilisant la maximisation des attentes). Ici, je regarde un exemple de clustering hiérarchique.
Alors que les k-means donnent généralement des affectations de clusters strictes (chaque point de données appartient à un seul cluster), les mélanges normaux donnent des affectations de clusters souples ou probabilistes. Dans le regroupement de mélanges normaux, chaque point de données – qu'il s'agisse d'une personne ou d'une culture cellulaire – appartient àchaquecluster avec une certaine probabilité. De même, le regroupement hiérarchique nous permet de considérer les points comme appartenant àplusieursgroupes. Mais dans le regroupement hiérarchique, les clusters sont – peut-être évidemment – de nature hiérarchique.
Quand utiliser le clustering hiérarchique
Le clustering hiérarchique est particulièrement utile lorsqu'il existe une structure hiérarchique dans les données. Les données hiérarchiques comportent des groupes qui sont eux-mêmes constitués de sous-groupes qui sont constitués de sous-groupes... et ainsi de suite pour toujours. Par exemple, lorsque nous examinons le sang, nous pouvons y trouver des globules rouges, des globules blancs, du plasma et des plaquettes. 
Au sein des globules blancs, vous pouvez avoir des neutrophiles, des basophiles, des lymphocytes… et bien d’autres. 
Dans les lymphocytes, vous pouvez avoir des lymphocytes T, des lymphocytes B et des cellules tueuses naturelles.
Au sein des lymphocytes T, vous pouvez avoir des lymphocytes T auxiliaires, des lymphocytes T mémoire, des lymphocytes T suppresseurs ou des lymphocytes T tueurs. Je pourrais continuer, mais ceci est un blog de statistiques, pas un blog d'immunologie. 
Bien qu’il soit souvent utile d’examiner des groupes de cellules très spécifiques, il existe de nombreuses situations dans lesquelles nous devons généraliser et examiner un groupe de niveau supérieur, comme lorsque les médecins examinent le nombre de globules blancs à partir d’un test sanguin. 
Lorsque vous regroupez des clients en fonction de leurs habitudes d'achat, vous pouvez parfois disposer de suffisamment de fonds pour créer 50 e-mails marketing différents afin de répondre aux habitudes spécifiques des acheteurs. Mais d’autres fois, vous ne disposerez peut-être que d’un budget pour en créer cinq. Le clustering hiérarchique vous permet de sélectionner n'importe quel nombre de clusters, tout en fournissant des clusters aussi cohérents que possible.
TL;DR: utilisez le clustering hiérarchique lorsque vous pensez que vos données peuvent avoir une structure hiérarchique. Cela peut vraiment être aussi simple que cela.
Clustering hiérarchique aggloméré
JMP utilise le format hiérarchiqueAgglomératifClustering (HAC en abrégé), qui modélise les relations hiérarchiques dans les données en fusionnant successivement des clusters similaires jusqu'à ce que toutes les données soient dans un seul cluster. Au début, chaque point de données est son propre cluster singleton. Mais c'est terriblement solitaire, alors nous fusionnons ensuite les deux clusters les plus proches pour former un nouveau cluster. Ensuite, nous fusionnons lessuivantdeux clusters les plus proches ensemble, puis nous recommençons. Et encore. Et encore. Jusqu'à ce que toutes les données soient dans un seul cluster. Nous appelons souvent HAC un clustering ascendant car nous avons commencé par le bas, et maintenant nous sommes ici, avec un cluster contenant tous nos points de données. On pourrait dire que toute l’équipe est là. 
Mesures de distance
Décider quels clusters sont proches les uns des autres n’est pas toujours simple ; il existe de nombreux critères de liaison que nous pouvons utiliser pour déterminer la distance qui sépare deux clusters.
Célibatairela liaison définit la distance entre deux clusters (A et
comme lale minimum distance entre n'importe quel point de A et n'importe quel point de B.
Moyennela liaison définit la distance entre les clusters (A et
comme lamoyennedistance entre les points en A et les points en B. 
Completla liaison définit la distance entre les clusters (A et
comme lamaximumdistance entre n'importe quel point de A et n'importe quel point de B.
LeCentre de gravitéLa méthode définit la distance entre les clusters (A et
comme la distance entre leurs vecteurs moyens respectifs (centroïdes). 
SalleLa méthode de est légèrement différente des méthodes ci-dessus. Au lieu d'utiliser une pure mesure de distance, une ANOVA univariée est ajustée en utilisant des affectations de clusters en tant que groupes. Deux clusters (A et
sont combinés s'ils aboutissent aule plus petitaugmentation des sommes d'erreur des carrés lorsqu'une autre ANOVA est exécutée avec A et B combinés en un seul groupe. D'après notre article ANOVA , nous savons que l'erreur est ladansvariante de groupe. La méthode de Ward demande donc quels sont les deux groupes que nous pouvons combiner tout en ayant un faibledansvariation de groupe (c'est-à-dire quels sont les deux groupes les plus similaires). 
Comment lire un dendrogramme
Une fois que nous avons déterminé la structure hiérarchique de nos données, nous pouvons examiner les différents clusters à n'importe quel niveau. Nous souhaitons souvent faire des observations sur la structure. La façon la plus simple de le faire est de regarder un dendrogramme.
Les dendrogrammes montrent comment les clusters ont été combinés. Dans JMP , l'axe Y représente les points/clusters de données et l'axe X représente la distance. Par exemple, si deux clusters se rejoignent plus bas sur le dendrogramme (à gauche), alors ils sont plus similaires que deux autres clusters qui se joignent plus haut sur le dendrogramme (plus à droite). 
Les dendrogrammes denses en bas (à gauche) ont généralement des clusters plus séparables, tandis que les dendrogrammes qui ne sont pas denses en bas (à gauche) ont tendance à avoir des clusters moins séparables et plus étalés.
Le clustering est plus un art qu'une science, donc l'interprétation de vos clusters nécessite probablement une expertise dans le domaine pour produire quelque chose de significatif. À l'aide de votre dendrogramme, vous pouvez créer n'importe quel nombre de clusters de 1 à N (où N est le nombre de points de données dont vous disposez). « Couper » le dendrogramme à n'importe quel niveau vous indiquera l'appartenance à chaque cluster. 
Dans JMP
Jetons un coup d'œil à un ensemble de données qui enregistre les grammes moyens de protéines, de graisses et de glucides de 150 personnes. Il existe de nombreuses raisons pour lesquelles nous pourrions vouloir regrouper ces différents régimes. Peut-être voulons-nous voir si différents régimes alimentaires entraînent différents taux de maladies cardiaques. Ou peut-être voulons-nous examiner les niveaux de cholestérol ou de fer de chaque groupe.
Dans JMP, effectuer un clustering hiérarchique est assez simple. Allez simplement àAnalyse > Clustering > Cluster hiérarchiqueet sélectionnez les colonnes sur lesquelles vous souhaitez regrouper. Si chaque point de données a un nom ou une étiquette, sélectionnez-le et ajoutez-le en tant queÉtiquette. Vous pouvez également sélectionner vos critères de liaison ici. Cliquez surD'ACCORD, et JMP créera vos clusters et un dendrogramme pour vous. 
Une fois à l'intérieur de la plateforme hiérarchique, vous pouvez colorer votre dendrogramme par clusters, ce qui peut vous aider à distinguer différents modèles dans les clusters. 
Vous pouvez également récupérer des affectations de clusters difficiles pour n'importe quel nombre de clusters de 1 à N (où N est la taille de votre échantillon). Allez simplement dans le menu du triangle rouge et sélectionnezNombre de grappeset saisissez le numéro souhaité. Vous pouvez également faire glisser le petit diamant noir sur le dendrogramme pour sélectionner un certain nombre de clusters. Revenez ensuite au menu du triangle rouge et sélectionnezEnregistrer les clusters. Lorsque vous sélectionnez ak (nombre de clusters), JMP « coupera » le dendrogramme à l'endroit où se trouvent exactement k clusters.
Vous pouvez également faire glisser le diamant sur le côté du tracé jusqu'au point du dendrogramme auquel vous souhaitez couper. 
Enregistrer nos clusters sous forme de colonne nous permet de mieux visualiser les clusters et d'utiliser l'affectation des clusters comme variable de groupe dans des analyses ultérieures (comme une ANOVA pour voir si l'appartenance à un cluster a un effet significatif sur les taux de maladies cardiaques).
En examinant seulement deux groupes, nous pouvons voir qu'il existe un groupe relativement riche en protéines, faible en glucides et en graisses, et un groupe relativement faible en protéines, riche en graisses et en glucides. 
Nous pourrions également envisager la solution en trois groupes, qui nous permettrait de séparer le groupe riche en protéines, faible en glucides et faible en gras en un groupe extrême et plus modéré. La structure hiérarchique nous aide à comprendre les relations entre ces groupes, tout en nous permettant de les traiter séparément si nécessaire. 
JMP vous recommandera ak en fonction du graphique de distance affiché sous le dendrogramme. L'axe des x du graphique représente chaque fois que deux clusters sont fusionnés. L'axe y représente la distance entre les deux derniers clusters joints. Lorsque la pente change radicalement, cela signifie que les deux derniers clusters fusionnés étaient relativement éloignés l’un de l’autre. Cela suggère que les clusters restants sont relativement séparés et que la configuration actuelle est un bon choix pour k.
Le dendrogramme de cet ensemble de données est le plus dense en bas (à gauche), ce qui signifie qu'il y a probablement quelques clusters séparables, ce que nous pouvons confirmer en regardant les graphiques ci-dessus.
Essayez-le
Le clustering hiérarchique (et le clustering en général) n'est pas une panacée à tous vos problèmes de données non étiquetées. Mais il est extrêmement efficace pour modéliser la structure hiérarchique des données quiaune structure hiérarchique. Il nous donne des informations au-delà du clustering non hiérarchique, car il nous indique comment les différents clusters interagissent les uns avec les autres. Ces informations peuvent être inestimables si nous devons combiner ou diviser des clusters. Le clustering hiérarchique vous offre une certaine flexibilité dans la manière dont vous regroupez vos données et, en fin de compte, nous devons tous être un peu plus flexibles. Essayez-le vous-même avec le tableau de données joint à cet article.
Bonjour Chelsea,
Merci pour cet article. c'est très clair et explicatif.
J'ai une question sur le clustering et je me demandais si vous pouviez m'aider.
J'essaie le clustering hiérarchique (et K-means) avec un ensemble de données relativement petit (17 lignes et +/-90 colonnes).
Lorsque j'effectue le clustering en utilisant toutes les colonnes, certaines lignes sont exclues du clustering. Je peux donc avoir des clusters 1-2-3-etc en fonction du nombre de clusters choisi, mais le nombre de lignes (observations) dans ces clusters est inférieur à 17 (c'est-à-dire que certaines lignes ne reçoivent aucun cluster).
Y a-t-il une raison pour que cela se produise ?
Toute aide est la bienvenue.
Merci!
Asie