La réponse de Sergey contient le point critique, à savoir que le coefficient de silhouette quantifie la qualité du regroupement obtenu. Vous devez donc sélectionner le nombre de grappes qui maximise le coefficient de silhouette.
La réponse longue est que le meilleur moyen d’évaluer les résultats de vos efforts de regroupement consiste à commencer par examiner - l’inspection humaine - les grappes formées et à prendre une décision basée sur une compréhension de ce que les données représentent, ce que représente une grappe, et ce que le regroupement est destiné à réaliser.
Il existe de nombreuses méthodes quantitatives d'évaluation des résultats de regroupement qui devraient être utilisées comme outils, avec une compréhension totale des limites. Ils ont tendance à être de nature assez intuitive et ont donc un attrait naturel (comme les problèmes de regroupement en général).
Exemples: masse / rayon / densité de la grappe, cohésion ou séparation entre les grappes, etc. Ces concepts sont souvent combinés. Par exemple, le rapport séparation / cohésion doit être élevé si la classification est réussie.
La façon dont la classification est mesurée dépend du type d'algorithme de classification utilisé. Par exemple, mesurer la qualité d'un algorithme de clustering complet (dans lequel tous les points sont placés dans des clusters) peut être très différent de celui de la qualité d'un algorithme de clustering flou basé sur des seuils (dans lequel un point peut être laissé non clusterisé en tant que "bruit" ).
Le coefficient de silhouette est l'une de ces mesures. Cela fonctionne comme suit:
Pour chaque point p, commencez par trouver la distance moyenne entre p et tous les autres points du même groupe (il s'agit d'une mesure de la cohésion, appelez-le A). Trouvez ensuite la distance moyenne entre p et tous les points de la grappe la plus proche (c’est une mesure de la séparation de la grappe la plus proche, appelez-la B). Le coefficient de silhouette pour p est défini comme la différence entre B et A divisée par le plus grand des deux (max (A, B)).
Nous évaluons le coefficient de cluster de chaque point et à partir de là, nous pouvons obtenir le coefficient de cluster «global» moyen.
Intuitivement, nous essayons de mesurer l'espace entre les grappes. Si la cohésion des grappes est bonne (A est petit) et la séparation des grappes est bonne (B est grand), le numérateur sera grand, etc.
J'ai construit un exemple ici pour illustrer cela graphiquement.
Dans ces tracés, les mêmes données sont tracées cinq fois; les couleurs indiquent les grappes créées par k-means, avec k = 1,2,3,4,5. C'est-à-dire que j'ai forcé un algorithme de clustering à diviser les données en 2 clusters, puis 3, et ainsi de suite, et de colorer le graphique en conséquence.
Le graphique de la silhouette montre que le coefficient de la silhouette était le plus élevé lorsque k = 3, ce qui suggère qu'il s'agit du nombre optimal de grappes. Dans cet exemple, nous avons la chance de pouvoir visualiser les données et nous pourrions être d’accord pour dire que trois clusters capturent au mieux la segmentation de cet ensemble de données.
Si nous ne parvenions pas à visualiser les données, peut-être à cause d'une dimensionnalité plus élevée, une courbe en silhouette nous donnerait quand même une suggestion. Toutefois, j’espère que ma réponse un peu lointaine ici indique également que cette "suggestion" pourrait être très insuffisante ou tout simplement fausse dans certains scénarios.