L'objectif de K-Means est de réduire la variance au sein d'une grappe. Etant donné qu'il calcule les centroïdes comme le point moyen d'une grappe, il est nécessaire d'utiliser la distance euclidienne pour converger correctement. Par conséquent, si vous souhaitez utiliser absolument K-Means, vous devez vous assurer que vos données fonctionnent correctement.
Représentation
K-Means, et le clustering en général, essaie de partitionner les données en groupes significatifs en s'assurant que les instances dans les mêmes clusters sont semblables les unes aux autres. Par conséquent, vous avez besoin d'un bon moyen de représenter vos données afin de pouvoir facilement calculer une mesure de similarité significative.
Utiliser l'encodage à chaud sur les variables catégorielles est une bonne idée lorsque les catégories sont à égale distance les unes des autres. Par exemple, si vous avez les couleurs bleu clair, bleu foncé et jaune, utiliser un encodage à chaud ne donnera pas les meilleurs résultats car le bleu foncé et le bleu clair sont probablement plus proches l'un de l'autre qu'ils ne le sont en jaune.
Si les valeurs catégorielles ne sont pas "équidistantes" et peuvent être commandées, vous pouvez également attribuer une valeur numérique aux catégories. Par exemple, enfant, adolescent, adulte pourrait potentiellement être représenté par 0, 1 et 2. Cela aurait du sens, car un adolescent est «plus proche» d’être un enfant que l’adulte.
K-Medoids
K-Medoids est une approche plus générique de K-Means. K-Medoids fonctionne de la même manière que K-Means, à la différence que le centre de gravité de chaque cluster est défini comme le point qui réduit la somme des distances au sein d'un cluster. L'application de cette règle vous permet d'utiliser n'importe quelle mesure de distance et vous pouvez donc créer votre propre mesure personnalisée qui tiendra compte des catégories qui doivent être proches ou non.