k-means が使用可能な結果を生成するためには、平均が意味のあるものでなければなりません。
たとえばバイナリベクトルを使用したとしても、これらのk-meansは私見ではあまり意味がありません。
おそらく、k-means を使い始めるのに最適なユース ケースは色の量子化です。写真を撮り、すべてのピクセルの RGB 値を 3d ベクトルとして使用します。次に、k を目的の色数として k-means を実行します。カラー センターは最終的なパレットであり、すべてのピクセルは減色のために最も近いセンターにマップされます。
これが k-means でうまく機能する理由は 2 つあります。
- 平均は実際には複数のピクセルの平均色を見つけるのに意味があります
- R、G、B の軸は意味とスケールが似ているため、偏りはありません。
さらに一歩踏み出したい場合は、HSB 空間などで同じことを試みてください。本当に良いものにしたいのなら、困難に直面するでしょう。色相値は周期的であり、平均値と一致しないためです。色相が 0 ~ 360 度であると仮定すると、「1」と「359」の「平均」色相は 180 度ではなく、0 です。したがって、このデータでは、k-means の結果は最適ではありません。
詳細については、たとえばhttps://en.wikipedia.org/wiki/Color_quantizationを参照してください。また、スパース データとバイナリ データに関する 20 の k-means の質問も参照してください。