Ceci fait suite à cette question. J'essaie actuellement d'implémenter le C-Index afin de trouver un nombre presque optimal de clusters à partir d'une hiérarchie de clusters. Je le fais en calculant le C-Index pour chaque étape du clustering hiérarchique (agglomératif). Le problème est que l'indice C est minimal (0 pour être exact) pour les grappes très dégénérées. Considère ceci:
Dans ce cas, est la somme de toutes les distances entre les paires d'observations dans le même groupe sur tous les groupes. Soit le nombre de ces paires. et sont les sommes des distances les plus basses / les plus élevées à travers toutes les paires d'observations. Dans la première étape du clustering hiérarchique, les deux observations les plus proches (distance minimale) sont fusionnées en un cluster. Soit la distance entre ces observations. Maintenant, il y a une paire d'observations dans le même cluster, donc (tous les autres clusters sont des singletons). Par conséquent, . Le problème est que également égal à, car est la plus petite distance (c'est pourquoi les observations ont été fusionnées en premier). Donc dans ce cas, le C-Index est toujours 0. Il reste 0 tant que seuls les clusters singleton sont fusionnés. Cela signifie que le regroupement optimal selon l'indice C consisterait toujours en un groupe de grappes contenant deux observations et les autres singletons. Cela signifie-t-il que l'indice C n'est pas applicable au clustering hiérarchique? Est-ce que je fais quelque chose de mal? J'ai beaucoup cherché, mais je n'ai trouvé aucune explication appropriée. Quelqu'un peut-il me renvoyer à une ressource disponible gratuitement sur Internet? Ou, sinon, au moins un livre que je pourrais essayer d'obtenir à la bibliothèque de mon université?
Merci d'avance!
la source
Réponses:
Cela peut être l'un des cas où il y a plus d'art que de science à regrouper. Je suggérerais que vous laissiez votre algorithme de clustering fonctionner pendant un court instant avant de laisser les calculs de C-Index démarrer. "Le court temps" peut être après avoir traité quelques paires, juste au moment où il commence à dépasser 0, ou une autre heuristique. (Après tout, vous ne vous attendez pas à vous arrêter à 1 ou 2 clusters, sinon un algorithme de séparation différent peut avoir été déployé.)
Pour une recommandation de livre, je peux suggérer:
Vous pouvez numériser / rechercher le contenu disponible sur Google Books pour voir s'il peut répondre à vos besoins. Cela a fonctionné comme référence pour moi dans le passé.
la source