Dans les données unidimensionnelles, n'utilisez pas l'analyse de cluster.
L'analyse en grappes est généralement une technique multivariée. Ou permettez-moi de le dire autrement: pour les données unidimensionnelles - qui sont complètement ordonnées - il existe de bien meilleures techniques. L'utilisation de k-means et de techniques similaires ici est un gaspillage total, à moins que vous ne fassiez suffisamment d'efforts pour les optimiser réellement pour le cas 1-d.
Juste pour vous donner un exemple: pour k-signifie qu'il est courant d'utiliser k objets aléatoires comme graines initiales. Pour les données unidimensionnelles, il est assez facile de faire mieux en utilisant simplement les quantiles appropriés (1 / 2k, 3 / 2k, 5 / 2k, etc.), après avoir trié les données une fois , puis optimisé à partir de ce point de départ. Cependant, les données 2D ne peuvent pas être triées complètement. Et dans une grille, il y aura probablement des cellules vides.
Je ne l'appellerais pas non plus cluster. Je l'appellerais intervalle . Ce que vous voulez vraiment faire, c'est optimiser les bordures d'intervalle. Si vous faites k-means, il testera pour chaque objet s'il doit être déplacé vers un autre cluster. Cela n'a pas de sens dans 1D: seuls les objets aux limites d'intervalle doivent être vérifiés. C'est évidemment beaucoup plus rapide, car il n'y a que ~ 2k objets là-bas. S'ils ne préfèrent pas déjà d'autres intervalles, les objets plus centraux ne le seront pas non plus.
Vous voudrez peut-être examiner des techniques telles que l' optimisation Jenks Natural Breaks , par exemple.
Ou vous pouvez faire une estimation de la densité du noyau et rechercher des minima locaux de la densité à y répartir. La bonne chose est que vous n'avez pas besoin de spécifier k pour cela!
PS, veuillez utiliser la fonction de recherche. Voici quelques questions sur le clustering de données 1-D que vous avez manquées: