L'idée sous-jacente à l'algorithme k-means est d'essayer de trouver des clusters qui minimisent la variance intra-cluster (ou jusqu'à une constante la somme correspondante des carrés ou SS), ce qui revient à maximiser la SS inter-cluster car la variance totale est fixé. Comme mentionné sur le wiki, vous pouvez directement utiliser le SS dans et regarder sa variation lorsque vous augmentez le nombre de clusters (comme nous le ferions dans l'analyse factorielle avec un aperçu): un changement brusque dans l'évolution des SS suggère une solution optimale , même si cela ne tient qu'à l'appréciation visuelle. La variance totale étant fixe, elle équivaut à étudier comment évolue le rapport entre SS et total SS, également appelé pourcentage de variance expliqué, car dans ce cas il présentera un écart important d'un k au k suivant +1.
En somme, il vous suffit de calculer la distance au carré entre chaque point de données et leur centre respectif (ou centroïde), pour chaque cluster - cela vous donne le SS au sein, et le total au sein de SS est juste la somme du spécifique au cluster WSS (les transformer en variance est simplement une question de division par les degrés de liberté correspondants); entre SS est obtenu en soustrayant le WSS total du SS total, ce dernier étant obtenu en considérant k = 1 par exemple.
Soit dit en passant, avec k = 1, WSS = TSS et BSS = 0.
Si vous êtes après avoir déterminé le nombre de grappes ou où s'arrêter avec les k-moyennes, vous pouvez considérer la statistique de l'écart comme une alternative aux critères du coude:
Tibshirani, R., Walther, G. et Hastie, T. (2001). Estimation du nombre de grappes dans un ensemble de données via la statistique de l'écart . JR Statist. Soc. B , 63 (2): 411-423.