L’algorithme k-means est non déterministe en raison de son étape d’initialisation aléatoire. Cette méthode implique que si l’algorithme est effectué deux fois sur des données identiques, les affectations de cluster peuvent différer. Pour obtenir des résultats de regroupement optimaux, il est judicieux de sélectionner correctement les centroïdes initiaux et le nombre optimal de clusters pour améliorer la précision et la vitesse de l’algorithme k-means.
Initialisation des centroïdes de cluster
Chaque cluster est représenté par un centroïde, un point de données qui représente le centre du cluster. L’algorithme k-means regroupe les points de données similaires en clusters en minimisant la distance entre les points de données d’un cluster avec leur centroïde ou leur valeur k-means. L’objectif principal de l’algorithme k-means est de réduire la distance totale entre les points et le centroïde de cluster qui leur est attribué. L’algorithme opère de manière itérative, et la sélection initiale des partitions peut avoir un impact considérable sur les clusters résultants.
L’initialisation aléatoire risque d’aboutir à des résultats incohérents. Des méthodes d'initialisation des centroïdes existent pour atténuer ces risques. Une étude de NUS Computing explique et compare des méthodes telles que le populaire k-means++ à l'initialisation aléatoire.5
K-means ++
K-means++ est un algorithme de k-means qui optimise la sélection du ou des centroïdes initiaux du cluster. Développé par les chercheurs Arthur et Vasilvitskii, k-means++ améliore la qualité de l'attribution finale du cluster.6
La première étape de l’initialisation en utilisant la méthode k-means++ consiste à choisir un centroïde dans l’ensemble de données. Pour chaque centroïde ultérieur, calculez la distance de chaque point de données par rapport à son centre de cluster le plus proche. Le centroïde suivant est sélectionné en tenant compte de la probabilité qu'un point se trouve à une distance proportionnelle du centroïde le plus proche choisi précédemment. Le processus exécute des itérations jusqu’à ce que le nombre choisi de centres de cluster ait été initialisé.
Voici un tutoriel d’IBM Developer qui utilise la méthode k-means++ pour l’initialisation.
Choisir le nombre optimal de clusters
Idéalement, l’algorithme k-means itère jusqu’à ce que le nombre optimal de clusters soit atteint. Le nombre maximal d’itérations est atteint une fois que les centroïdes ont atteint la convergence.
La méthode du coude
La méthode du coude est l’une des méthodes qui permettent d’atteindre le nombre optimal de clusters. Il s’agit d’une méthode graphique qui permet de trouver le nombre optimal de clusters dans un algorithme de clustering k-means. Elle consiste à mesurer la distance euclidienne entre chaque point de données et son centre de cluster et à choisir le nombre de clusters en fonction de l’endroit où la valeur de la somme des carrés (WCSS) se stabilise. Cette valeur représente la variance totale au sein de chaque cluster, qui est tracée en fonction du nombre de clusters.7
La première étape de la méthode elbow consiste à calculer le WCSS pour chaque cluster (k). Ensuite, la valeur WCSS est représentée sur l’axe des y et le nombre de clusters est tracé sur l’axe des x. À mesure que le nombre de clusters augmente, les points du diagramme doivent former un modèle cohérent. De ce modèle, on obtient une fourchette pour le nombre optimal de clusters.8 Lorsque vous décidez du nombre de clusters, tenez compte des coûts de calcul. Plus le nombre de clusters est élevé, plus la puissance de traitement est nécessaire, en particulier avec les grands jeux de données.
Cette méthode n’est pas nécessairement la meilleure, en particulier pour les jeux de données à dimensionnalité élevée ou de forme irrégulière. Une autre méthode permettant de choisir le nombre optimal de clusters est l’analyse de la silhouette.9