Em dados unidimensionais, não use análise de cluster.
A análise de cluster é geralmente uma técnica multivariada. Ou deixe-me dizer o contrário: para dados unidimensionais - que são completamente ordenados - existem técnicas muito melhores. Usar k-means e técnicas semelhantes aqui é um desperdício total, a menos que você faça um esforço suficiente para realmente otimizá-las para o caso 1-d.
Apenas para dar um exemplo: para k-significa, é comum usar k objetos aleatórios como sementes iniciais. Para dados unidimensionais, é bastante fácil fazer melhor usando apenas os quantis apropriados (1 / 2k, 3 / 2k, 5 / 2k etc.), depois de classificar os dados uma vez e otimizar a partir deste ponto de partida. No entanto, os dados 2D não podem ser classificados completamente. E em uma grade, provavelmente haverá células vazias.
Eu também não chamaria isso de cluster. Eu chamaria isso de intervalo . O que você realmente deseja fazer é otimizar as bordas do intervalo. Se você fizer k-means, ele testará para cada objeto se deve ser movido para outro cluster. Isso não faz sentido em 1D: apenas os objetos nas bordas do intervalo precisam ser verificados. Obviamente, isso é muito mais rápido, pois existem apenas ~ 2k objetos lá. Se eles ainda não preferem outros intervalos, objetos mais centrais também não.
Você pode pesquisar técnicas como a otimização do Jenks Natural Breaks , por exemplo.
Ou você pode fazer uma estimativa da densidade do kernel e procurar mínimos locais da densidade para dividir lá. O bom é que você não precisa especificar k para isso!
PS, por favor, use a função de pesquisa. Aqui estão algumas perguntas sobre o cluster de dados 1-d que você perdeu: