1次元データでは、クラスター分析を使用しないでください。
通常、クラスター分析は多変量手法です。または、別の言い方をすれば、1次元データ(完全に順序付けられている)には、はるかに優れた手法があります。ここでk-meansおよび同様の手法を使用することは、1-dの場合に実際に最適化するのに十分な努力を払わない限り、まったく無駄です。
例を挙げると、k-meansの場合、k個のランダムオブジェクトを初期シードとして使用するのが一般的です。1次元データの場合、データを1回並べ替えてから適切な分位数(1 / 2k、3 / 2k、5 / 2kなど)を使用するだけで、この開始点から最適化するのはかなり簡単です。ただし、2Dデータを完全に並べ替えることはできません。そして、グリッドでは、空のセルが存在する可能性があります。
また、クラスターとは呼びません。私はそれをインターバルと呼びます。本当にやりたいことは、間隔の境界を最適化することです。k-meansを実行すると、各オブジェクトを別のクラスターに移動する必要があるかどうかがテストされます。1Dでは意味がありません。間隔の境界にあるオブジェクトのみをチェックする必要があります。そこには〜2kのオブジェクトしかないため、それは明らかにはるかに高速です。彼らがまだ他の間隔を好まない場合、より多くの中央オブジェクトもそうではありません。
たとえば、Jenks Natural Breaks最適化などの手法を検討することをお勧めします。
または、カーネル密度の推定を行い、密度の局所的な最小値を探してそこで分割することができます。良い点は、このためにkを指定する必要がないことです!
PS検索機能を使用してください。逃した1次元データクラスタリングに関するいくつかの質問を次に示します。