3

私は最近、クラスタリングと k-means アルゴリズムの作業を開始し、適切なユース ケースを考え出し、それを解決しようとしていました。

さまざまな都市で販売されている商品に関する次のデータがあります。

アイテム市区町村

Item1 ニューヨーク
Item2 シャーロット
Item1 サンフランシスコ
...

変数 city と item に基づいてデータをクラスター化して、販売された商品のパターンが類似している可能性のある都市のグループを見つけたいと思います。問題は、使用する k-means が非数値入力を受け入れないことです。意味のある解決策を見つけるために、これをどのように進めるべきか考えてください。

ありがとうSV

4

3 に答える 3

3

クラスタリングには距離の定義が必要です。クラスターは、アイテムが距離関数に従って「より近い」場合にのみクラスターになります。それらが近いほど、同じクラスターに属している可能性が高くなります。

あなたの場合、地理座標や人口統計情報など、都市に関連するさまざまなデータに基づいてクラスター化を試み、さまざまなケースでクラスターが重複するかどうかを確認できます。

于 2013-01-20T18:20:27.220 に答える
2

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 の質問も参照してください。

于 2013-01-19T09:51:12.820 に答える
0

データを数値形式で抽象的に表現する必要がある場合もあります。これは役立つかもしれません

http://www.analyticbridge.com/forum/topics/clustering-with-non-numeric?commentId=2004291%3AComment%3A40805

問題を再度分析して、数値で表現できる関係があるかどうかを確認してください。RGB値で色を表現する必要があるプロジェクトに取り組みました。それはかなりうまくいった。

お役に立てれば

于 2013-01-19T00:17:09.867 に答える